From 59072de76c4576575057eee8dd2b8bd1d92fbd69 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Thu, 11 Jul 2024 23:36:59 -0500
Subject: [PATCH 1/8] added armor to the starting items
---
packages/contracts/foundry.toml | 7 +-
packages/contracts/items.json | 39 +-
packages/contracts/mud.config.ts | 2 +
.../CharacterSystem.sol/CharacterSystem.json | 2 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 32 +-
.../out/IWorld.sol/IWorld.abi.json.d.ts | 32 +-
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../out/MapSystem.sol/MapSystem.json | 2 +-
packages/contracts/script/PostDeploy.s.sol | 628 +++++++++---------
.../contracts/src/codegen/tables/Items.sol | 79 ++-
.../src/codegen/world/IItemsSystem.sol | 2 +
packages/contracts/src/interfaces/Structs.sol | 146 ++--
.../contracts/src/systems/CombatSystem.sol | 14 +-
.../contracts/src/systems/ItemsSystem.sol | 24 +-
packages/contracts/test/ItemsSystem.t.sol | 11 +-
packages/contracts/test/SetUp.sol | 2 +-
packages/contracts/worlds.json | 2 +-
17 files changed, 595 insertions(+), 431 deletions(-)
diff --git a/packages/contracts/foundry.toml b/packages/contracts/foundry.toml
index 670046776..4582aac6f 100644
--- a/packages/contracts/foundry.toml
+++ b/packages/contracts/foundry.toml
@@ -16,11 +16,8 @@ allow_paths = [
# projects created from this template and using linked mud packages
"../../../mud/packages",
]
-extra_output_files = [
- "abi",
- "evm.bytecode"
-]
-fs_permissions = [{ access = "read", path = "./"}]
+extra_output_files = ["abi", "evm.bytecode"]
+fs_permissions = [{ access = "read-write", path = "./" }]
libs = ["node_modules", "lib"]
[profile.base-sepolia]
diff --git a/packages/contracts/items.json b/packages/contracts/items.json
index 1c7e033b0..97ce8bd36 100644
--- a/packages/contracts/items.json
+++ b/packages/contracts/items.json
@@ -1,12 +1,33 @@
{
+ "armor": [
+ {
+ "dropChance": 20000000,
+ "initialSupply": 10000000000000000000,
+ "metadataUri": "1_rags.json",
+ "name": "Rags",
+ "stats": {
+ "agiModifier": 0,
+ "armorModifier": 1,
+ "classRestrictions": [],
+ "hitPointModifier": 0,
+ "intModifier": 0,
+ "minLevel": 0,
+ "strModifier": 0
+ }
+ }
+ ],
"metadataUriPrefix": "ipfs://QmVUaqRpQJHyqugYd12Qf2iErNSoGvLF1cbeRHpmX8bChs/",
- "items": [
+ "weapons": [
{
+ "dropChance": 20000000,
+ "initialSupply": 10000000000000000000,
"metadataUri": "1_rusty_sword.json",
"name": "Rusty Sword",
"stats": {
"agiModifier": 4,
- "classRestrictions": [],
+ "classRestrictions": [
+ 0
+ ],
"hitPointModifier": 6,
"intModifier": 5,
"maxDamage": 2,
@@ -16,11 +37,15 @@
}
},
{
+ "dropChance": 20000000,
+ "initialSupply": 10000000000000000000,
"metadataUri": "2_cracked_dagger.json",
"name": "Cracked Dagger",
"stats": {
"agiModifier": 4,
- "classRestrictions": [],
+ "classRestrictions": [
+ 1
+ ],
"hitPointModifier": 6,
"intModifier": 5,
"maxDamage": 2,
@@ -30,11 +55,15 @@
}
},
{
+ "dropChance": 20000000,
+ "initialSupply": 10000000000000000000,
"metadataUri": "3_cobbled_wand.json",
"name": "Cobbled Wand",
"stats": {
"agiModifier": 4,
- "classRestrictions": [],
+ "classRestrictions": [
+ 2
+ ],
"hitPointModifier": 6,
"intModifier": 5,
"maxDamage": 2,
@@ -44,4 +73,4 @@
}
}
]
-}
+}
\ No newline at end of file
diff --git a/packages/contracts/mud.config.ts b/packages/contracts/mud.config.ts
index 07a1a3365..1d7f83753 100644
--- a/packages/contracts/mud.config.ts
+++ b/packages/contracts/mud.config.ts
@@ -116,7 +116,9 @@ export default defineWorld({
schema: {
itemId: "uint256",
itemType: "ItemType",
+ dropChance: "uint256",
stats: "bytes",
+ // probability in 10^6 e.g. 20_000_000 = 20%
},
key: ["itemId"],
},
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
index daec4f343..aabe66d38 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
@@ -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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061422b806100206000396000f3fe6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc5780633d0854ae116100e15780633d0854ae1461023857806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd578063238015701461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613874565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b61018636600461388d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613874565b61043f565b6040516101629190613903565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613a3e565b61045f565b604051908152602001610162565b34801561021757600080fd5b5061022b610226366004613874565b6106c1565b6040516101629190613a97565b34801561024457600080fd5b506101fd610253366004613874565b6106cc565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613874565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613874565b610755565b6102c36102be366004613aaa565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613874565b6109f9565b3480156102f157600080fd5b506102c3610300366004613ae7565b610a8e565b34801561031157600080fd5b506102c3610320366004613874565b610aff565b34801561033157600080fd5b5061014e610340366004613874565b610c31565b34801561035157600080fd5b5061014e610c3c565b34801561036657600080fd5b506101fd610375366004613874565b610c46565b34801561038657600080fd5b506101fd610395366004613874565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b61044761381e565b61043982610c51565b600061045a610d03565b905090565b60008061046a610d35565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c3c565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d68565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613b7e565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613bdc565b5061062e816109f9565b915061063a8286610db5565b6106448282610e84565b61064d84610f03565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fa8565b6106af8285611061565b6106b981846110e0565b509392505050565b600061043982611113565b60006106d860136111bd565b82106106e657506014919050565b60005b601481101561074457826106fc826111bd565b1115801561071b575082610719610714836001613c27565b6111bd565b115b156107325761072b816001613c27565b9150610744565b8061073c81613c3a565b9150506106e9565b50919050565b600061043982611239565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112cb565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613c54565b60015b15610862576107f06112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613c54565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112d5565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611367565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e8383611423565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613c71565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a40000000000000000000000000000000000000000000000000000000017905261150c565b5050505050565b600080610a046112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613c54565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611367565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110e0565b5050565b610b0881611367565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112d5565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bbc81674563918244f400006115ba565b610bc4610c3c565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bf191815260200190565b600060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b50505050610c2e816001611655565b50565b6000610439826116d9565b600061045a611776565b600061043982611780565b610c5961381e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c8f57610c8f613c99565b602090810291909101015260008080610ce87f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611812565b925092509250610cf98383836118e2565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d325750335b90565b600080610d4061195a565b90506000610d4f8260006119c2565b610d5a906001613c27565b905061043982600083611a73565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610deb57610deb613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e4a919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611bbb565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610eba57610eba613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e4a91815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f3c57610f3c613c99565b60209081029190910101526000610f947f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611c70565b9050610fa08160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fde57610fde613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161102c91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611bbb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061109757611097613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e4a91815260200190565b610afb61110c7f4368617261637465727300000000000000000000000000000000000000000000611d2d565b8383611d7a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061114c5761114c613c99565b602090810291909101015260006111a57f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611c70565b905060f881901c6002811115610fa057610fa06138cf565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111f9576111f9613c99565b60209081029190910101526000610fa07f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611c70565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127257611272613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611c70565b600061045a61195a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061130e5761130e613c99565b60209081029190910101526000610f947f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611c70565b60006113716112cb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190613c54565b6001600160a01b0316611413610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061145957611459613c99565b6020908102919091010152610e7f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561149c5761149c6138cf565b6040516020016114d7919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611bbb565b606060008061152261151d85613caf565b611dcc565b91509150816000801b03611588576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fa08285611e9c565b6115c2611f77565b6001600160a01b03166340c10f196115d984610c31565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561163957600080fd5b505af115801561164d573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061168b5761168b613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e4a91151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061171257611712613c99565b6020908102919091010152600061176b7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611c70565b60601c949350505050565b600061045a611f81565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117b9576117b9613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611c70565b6060600060606000611822611f81565b9050306001600160a01b0382160361184b5761183f878787611fc0565b935093509350506118d9565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611894908a908a908a90600401613d3b565b600060405180830381865afa1580156118b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261183f9190810190613d64565b93509350939050565b6118ea61381e565b6118f3846120c8565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611931576119316138cf565b6002811115611942576119426138cf565b90529790975250505093909252509195945050505050565b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611c70565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a0757611a07613c99565b6020026020010181815250508260001b81600181518110611a2a57611a2a613c99565b60209081029190910101526000611a6a7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611c70565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611ab457611ab4613c99565b6020026020010181815250508260001b81600181518110611ad757611ad7613c99565b602002602001018181525050611b3d7f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611b2091815260200190565b60408051601f19818403018152919052630100080160dd1b611bbb565b50505050565b6000611b5160706010613c27565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611bc5611f81565b9050306001600160a01b03821603611be957611be48686868686612136565b61164d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611c369089908990899089908990600401613dc7565b600060405180830381600087803b158015611c5057600080fd5b505af1158015611c64573d6000803e3d6000fd5b50505050505050505050565b600080611c7b611f81565b9050306001600160a01b03821603611ca157611c998686868661214b565b915050610fa0565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611cec908990899089908990600401613e0e565b602060405180830381865afa158015611d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c999190613e3d565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611db357611db3613c99565b602002602001018181525050611b3d8482600085612178565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611e2557611e25613c99565b602090810291909101015260008080611e7e7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611812565b925092509250611e8f838383612229565b9550955050505050915091565b60606000611ea8611776565b90506001600160a01b0381163003611ee9576000611ed0611ec7610d03565b60008787612241565b9350905080611ee257611ee28361237c565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611f309087908790600401613b7e565b6000604051808303816000875af1158015611f4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa09190810190613bdc565b600061045a612384565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611fbb573391505090565b919050565b6060600060606000611fd1856123e2565b9050611fde878783612405565b93506000611feb8661243e565b905080156120bd57611ffd888861247b565b935066ffffffffffffff841667ffffffffffffffff81111561202157612021613979565b6040519080825280601f01601f19166020018201604052801561204b576020820181803683370190505b5092506020830160005b828160ff1610156120ba57600061206d8b8b8461248e565b9050600061208a888460ff166028026038011c64ffffffffff1690565b9050612099826000838761250e565b6120a38185613c27565b9350505080806120b290613e56565b915050612055565b50505b505093509350939050565b6000806000806000806000806120e2896000016020015190565b60408a015160608b0151919950975060f81c6002811115612105576121056138cf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f2858561214584876125da565b8561260b565b6000611a6a61215a86866128af565b60ff858116601b0360080285901c1661217385876125da565b612905565b6000612182611f81565b9050306001600160a01b038216036121a5576121a085858585612956565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906121f0908890889088908890600401613e75565b600060405180830381600087803b15801561220a57600080fd5b505af115801561221e573d6000803e3d6000fd5b505050505050505050565b60008061223585612991565b90969095509350505050565b60006060600080612251866129a6565b90925090506001600160a01b0382166122a2578561226e87612a4a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613b7e565b806122b1576122b18689612b78565b861561231d577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061230582612bc4565b905061231a826123158b84613c27565b612c3d565b50505b60006123298760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123615761235c88888488612cd9565b61236d565b61236d88888488612d51565b90999098509650505050505050565b805160208201fd5b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611c70565b600060086123f260026020613eb4565b6123fc9190613ec7565b9190911c919050565b6060816000036124245750604080516020810190915260008152611bb4565b600061243085856128af565b9050611a6a81600085612db2565b6000600860018061245160026020613eb4565b61245b9190613eb4565b6124659190613eb4565b61246f9190613ec7565b8260ff911c1692915050565b6000611bb461248a8484612dd5565b5490565b600083836040516020016124a3929190613ede565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561259557602083106125385760208304840193506020838161253457612534613f1a565b0692505b821561259557602083900360008184101561255b5750600019600884021c612565565b50600019600882021c5b8554600886021b818451168219821617845250818411612586575050611b3d565b50600194909401939182900391015b5b602082106125b75783548152600190930192601f1990910190602001612596565b8115611b3d576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761260160ff601b83900360080287901c1683613c27565b91506001016125df565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361269557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161268893929190613f30565b60405180910390a2611b3d565b60006126a185856128af565b905060006126ae86612e2b565b905060005b81518110156127835760008282815181106126d0576126d0613c99565b602002602001015190506126fc6004826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561277a576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612747908b908b908b908b90600401613f63565b600060405180830381600087803b15801561276157600080fd5b505af1158015612775573d6000803e3d6000fd5b505050505b506001016126b3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516127b893929190613f30565b60405180910390a26127d3828565ffffffffffff1685612ed2565b60005b81518110156128a65760008282815181106127f3576127f3613c99565b6020026020010151905061281f6008826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561289d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061286a908b908b908b908b90600401613f63565b600060405180830381600087803b15801561288457600080fd5b505af1158015612898573d6000803e3d6000fd5b505050505b506001016127d6565b50505050505050565b600082826040516020016128c4929190613ede565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60006020821061292b5760208204840193506020828161292757612927613f1a565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612962858561247b565b9050600061297f828560ff166028026038011c64ffffffffff1690565b905061164d8686866000858888612ee8565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106129e0576129e0613c99565b602090810291909101015260008080612a397f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611fc0565b925092509250611e8f838383613322565b606081601081901b6000612a5d8361332e565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ab857612ab37fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613345565b612aef565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612b1657612b1183613345565b612b4d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612b5f93929190613f9c565b6040516020818303038152906040529350505050919050565b612b8282826133cb565b610afb57612b8f82612a4a565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e992919061402a565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612bfd57612bfd613c99565b60209081029190910101526000610fa07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b61214b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612c7357612c73613c99565b602002602001018181525050610e7f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612cbc91815260200190565b60408051601f19818403018152919052630100080160dd1b612136565b60006060836001600160a01b03166000612cf4858989613429565b604051612d019190614055565b60006040518083038185875af1925050503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b606091505b509097909650945050505050565b60006060836001600160a01b0316612d6a848888613429565b604051612d779190614055565b600060405180830381855af49150503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b60405160208101601f19603f84840101166040528282526106b98585858461250e565b60008282604051602001612dea929190613ede565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612e6557612e65613c99565b60209081029190910101526000612e9d7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613458565b9050610fa0612eaf8260008451613492565b613520565b60008160ff1682612ec58560581c90565b1660ff1614905092915050565b610e7f83838351612ee38560200190565b613531565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612fa8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612f6691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614071565b6000612fc3828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612fdc9190613eb4565b612fe69190613c27565b9050808214158015613008575081612ffe86886140b2565b64ffffffffff1614155b15613058576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff1611156130a9576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b60006130b68489846135f0565b905060006130c38b612e2b565b905060005b815181101561318e5760008282815181106130e5576130e5613c99565b602002602001015190506131116010826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561318557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161315297969594939291906140d7565b600060405180830381600087803b15801561316c57600080fd5b505af1158015613180573d6000803e3d6000fd5b505050505b506001016130c8565b5064ffffffffff881660005b8a60ff168160ff1610156131cd576131c1878260ff166028026038011c64ffffffffff1690565b9091019060010161319a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161320896959493929190614135565b60405180910390a2508284146132295760006132248c8c612dd5565b839055505b60006132368c8c8c61248e565b905061324a818a64ffffffffff1689612ed2565b5060005b815181101561331457600082828151811061326b5761326b613c99565b602002602001015190506132976020826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561330b57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016132d897969594939291906140d7565b600060405180830381600087803b1580156132f257600080fd5b505af1158015613306573d6000803e3d6000fd5b505050505b5060010161324e565b505050505050505050505050565b600080612235856136be565b600061333c60706010613c27565b9190911b919050565b606060005b601081101561339b576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561339b5760010161334a565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fa0565b60006134197f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836136da565b80611bb45750611bb483836136da565b606083838360405160200161344093929190614191565b60405160208183030381529060405290509392505050565b6060610fa061346885858561248e565b600061348d85613478898961247b565b9060ff166028026038011c64ffffffffff1690565b612db2565b6000818311806134a25750835182115b156134df578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906141d0565b602084016134ed8482613c27565b905060006134fb8585613eb4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bb483601560006137a3565b82156135ab576020831061355b5760208304840193506020838161355757613557613f1a565b0692505b82156135ab5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161359c575050611b3d565b50600194909401939182900391015b5b602082106135cd5780518455600190930192601f19909101906020016135ac565b8115611b3d576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff821115613634576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613666578085038201915061366e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c61299f565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061371357613713613c99565b602002602001018181525050826001600160a01b031660001b8160018151811061373f5761373f613c99565b602090810291909101015260006137977f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061214b565b9050611a6a8160f81c90565b606060006137b18560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816137d7576137d7613f1a565b04905060405193506020840160208202810160405281855260005b82811015613812578451871c8252938701936020909101906001016137f2565b50505050509392505050565b60405180610100016040528060008152602001600081526020016000600281111561384b5761384b6138cf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561388657600080fd5b5035919050565b60006020828403121561389f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb457600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c2e57634e487b7160e01b600052602160045260246000fd5b81518152602080830151908201526040820151610100820190613925816138e5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c2e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156139b8576139b8613979565b604052919050565b600067ffffffffffffffff8211156139da576139da613979565b50601f01601f191660200190565b600082601f8301126139f957600080fd5b8135613a0c613a07826139c0565b61398f565b818152846020838601011115613a2157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613a5357600080fd5b8335613a5e81613964565b925060208401359150604084013567ffffffffffffffff811115613a8157600080fd5b613a8d868287016139e8565b9150509250925092565b60208101613aa4836138e5565b91905290565b600080600060608486031215613abf57600080fd5b8335925060208401359150604084013560038110613adc57600080fd5b809150509250925092565b60008060408385031215613afa57600080fd5b82359150602083013567ffffffffffffffff811115613b1857600080fd5b613b24858286016139e8565b9150509250929050565b60005b83811015613b49578181015183820152602001613b31565b50506000910152565b60008151808452613b6a816020860160208601613b2e565b601f01601f19169290920160200192915050565b828152604060208201526000610fa06040830184613b52565b600082601f830112613ba857600080fd5b8151613bb6613a07826139c0565b818152846020838601011115613bcb57600080fd5b610fa0826020830160208701613b2e565b600060208284031215613bee57600080fd5b815167ffffffffffffffff811115613c0557600080fd5b610fa084828501613b97565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c11565b60006000198203613c4d57613c4d613c11565b5060010190565b600060208284031215613c6657600080fd5b8151611bb481613964565b838152613c7d836138e5565b826020820152606060408201526000611a6a6060830184613b52565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf75780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613d3057815187529582019590820190600101613d14565b509495945050505050565b838152606060208201526000613d546060830185613cff565b9050826040830152949350505050565b600080600060608486031215613d7957600080fd5b835167ffffffffffffffff80821115613d9157600080fd5b613d9d87838801613b97565b9450602086015193506040860151915080821115613dba57600080fd5b50613a8d86828701613b97565b85815260a060208201526000613de060a0830187613cff565b60ff861660408401528281036060840152613dfb8186613b52565b9150508260808301529695505050505050565b848152608060208201526000613e276080830186613cff565b60ff949094166040830152506060015292915050565b600060208284031215613e4f57600080fd5b5051919050565b600060ff821660ff8103613e6c57613e6c613c11565b60010192915050565b848152608060208201526000613e8e6080830186613cff565b60ff851660408401528281036060840152613ea98185613b52565b979650505050505050565b8181038181111561043957610439613c11565b808202811582820484141761043957610439613c11565b8281526000602080830184516020860160005b82811015613f0d57815184529284019290840190600101613ef1565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613f436060830186613cff565b65ffffffffffff851660208401528281036040840152610cf98185613b52565b848152608060208201526000613f7c6080830186613cff565b65ffffffffffff851660408401528281036060840152613ea98185613b52565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451613ffd816003860160208901613b2e565b80840190508160038201528451915061401d826004830160208801613b2e565b0160040195945050505050565b60408152600061403d6040830185613b52565b90506001600160a01b03831660208301529392505050565b60008251614067818460208701613b2e565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611a6a6060830184613b52565b64ffffffffff8181168382160190808211156140d0576140d0613c11565b5092915050565b87815260e0602082015260006140f060e0830189613cff565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141278185613b52565b9a9950505050505050505050565b60c08152600061414860c0830189613cff565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526141848185613b52565b9998505050505050505050565b600084516141a3818460208901613b2e565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006141e36060830186613b52565b6020830194909452506040015291905056fea26469706673582212205343db4bfeaaf942566bbd790ef0e64cd9c2e7ee2af78a797a460cb8dc50f1ae64736f6c63430008180033","sourceMap":"1738:5941:210:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc5780633d0854ae116100e15780633d0854ae1461023857806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd578063238015701461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613874565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b61018636600461388d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613874565b61043f565b6040516101629190613903565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613a3e565b61045f565b604051908152602001610162565b34801561021757600080fd5b5061022b610226366004613874565b6106c1565b6040516101629190613a97565b34801561024457600080fd5b506101fd610253366004613874565b6106cc565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613874565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613874565b610755565b6102c36102be366004613aaa565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613874565b6109f9565b3480156102f157600080fd5b506102c3610300366004613ae7565b610a8e565b34801561031157600080fd5b506102c3610320366004613874565b610aff565b34801561033157600080fd5b5061014e610340366004613874565b610c31565b34801561035157600080fd5b5061014e610c3c565b34801561036657600080fd5b506101fd610375366004613874565b610c46565b34801561038657600080fd5b506101fd610395366004613874565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b61044761381e565b61043982610c51565b600061045a610d03565b905090565b60008061046a610d35565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c3c565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d68565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613b7e565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613bdc565b5061062e816109f9565b915061063a8286610db5565b6106448282610e84565b61064d84610f03565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fa8565b6106af8285611061565b6106b981846110e0565b509392505050565b600061043982611113565b60006106d860136111bd565b82106106e657506014919050565b60005b601481101561074457826106fc826111bd565b1115801561071b575082610719610714836001613c27565b6111bd565b115b156107325761072b816001613c27565b9150610744565b8061073c81613c3a565b9150506106e9565b50919050565b600061043982611239565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112cb565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613c54565b60015b15610862576107f06112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613c54565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112d5565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611367565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e8383611423565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613c71565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a40000000000000000000000000000000000000000000000000000000017905261150c565b5050505050565b600080610a046112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613c54565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611367565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110e0565b5050565b610b0881611367565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112d5565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bbc81674563918244f400006115ba565b610bc4610c3c565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bf191815260200190565b600060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b50505050610c2e816001611655565b50565b6000610439826116d9565b600061045a611776565b600061043982611780565b610c5961381e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c8f57610c8f613c99565b602090810291909101015260008080610ce87f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611812565b925092509250610cf98383836118e2565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d325750335b90565b600080610d4061195a565b90506000610d4f8260006119c2565b610d5a906001613c27565b905061043982600083611a73565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610deb57610deb613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e4a919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611bbb565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610eba57610eba613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e4a91815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f3c57610f3c613c99565b60209081029190910101526000610f947f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611c70565b9050610fa08160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fde57610fde613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161102c91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611bbb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061109757611097613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e4a91815260200190565b610afb61110c7f4368617261637465727300000000000000000000000000000000000000000000611d2d565b8383611d7a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061114c5761114c613c99565b602090810291909101015260006111a57f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611c70565b905060f881901c6002811115610fa057610fa06138cf565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111f9576111f9613c99565b60209081029190910101526000610fa07f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611c70565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127257611272613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611c70565b600061045a61195a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061130e5761130e613c99565b60209081029190910101526000610f947f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611c70565b60006113716112cb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190613c54565b6001600160a01b0316611413610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061145957611459613c99565b6020908102919091010152610e7f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561149c5761149c6138cf565b6040516020016114d7919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611bbb565b606060008061152261151d85613caf565b611dcc565b91509150816000801b03611588576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fa08285611e9c565b6115c2611f77565b6001600160a01b03166340c10f196115d984610c31565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561163957600080fd5b505af115801561164d573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061168b5761168b613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e4a91151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061171257611712613c99565b6020908102919091010152600061176b7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611c70565b60601c949350505050565b600061045a611f81565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117b9576117b9613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611c70565b6060600060606000611822611f81565b9050306001600160a01b0382160361184b5761183f878787611fc0565b935093509350506118d9565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611894908a908a908a90600401613d3b565b600060405180830381865afa1580156118b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261183f9190810190613d64565b93509350939050565b6118ea61381e565b6118f3846120c8565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611931576119316138cf565b6002811115611942576119426138cf565b90529790975250505093909252509195945050505050565b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611c70565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a0757611a07613c99565b6020026020010181815250508260001b81600181518110611a2a57611a2a613c99565b60209081029190910101526000611a6a7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611c70565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611ab457611ab4613c99565b6020026020010181815250508260001b81600181518110611ad757611ad7613c99565b602002602001018181525050611b3d7f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611b2091815260200190565b60408051601f19818403018152919052630100080160dd1b611bbb565b50505050565b6000611b5160706010613c27565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611bc5611f81565b9050306001600160a01b03821603611be957611be48686868686612136565b61164d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611c369089908990899089908990600401613dc7565b600060405180830381600087803b158015611c5057600080fd5b505af1158015611c64573d6000803e3d6000fd5b50505050505050505050565b600080611c7b611f81565b9050306001600160a01b03821603611ca157611c998686868661214b565b915050610fa0565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611cec908990899089908990600401613e0e565b602060405180830381865afa158015611d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c999190613e3d565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611db357611db3613c99565b602002602001018181525050611b3d8482600085612178565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611e2557611e25613c99565b602090810291909101015260008080611e7e7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611812565b925092509250611e8f838383612229565b9550955050505050915091565b60606000611ea8611776565b90506001600160a01b0381163003611ee9576000611ed0611ec7610d03565b60008787612241565b9350905080611ee257611ee28361237c565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611f309087908790600401613b7e565b6000604051808303816000875af1158015611f4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa09190810190613bdc565b600061045a612384565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611fbb573391505090565b919050565b6060600060606000611fd1856123e2565b9050611fde878783612405565b93506000611feb8661243e565b905080156120bd57611ffd888861247b565b935066ffffffffffffff841667ffffffffffffffff81111561202157612021613979565b6040519080825280601f01601f19166020018201604052801561204b576020820181803683370190505b5092506020830160005b828160ff1610156120ba57600061206d8b8b8461248e565b9050600061208a888460ff166028026038011c64ffffffffff1690565b9050612099826000838761250e565b6120a38185613c27565b9350505080806120b290613e56565b915050612055565b50505b505093509350939050565b6000806000806000806000806120e2896000016020015190565b60408a015160608b0151919950975060f81c6002811115612105576121056138cf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f2858561214584876125da565b8561260b565b6000611a6a61215a86866128af565b60ff858116601b0360080285901c1661217385876125da565b612905565b6000612182611f81565b9050306001600160a01b038216036121a5576121a085858585612956565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906121f0908890889088908890600401613e75565b600060405180830381600087803b15801561220a57600080fd5b505af115801561221e573d6000803e3d6000fd5b505050505050505050565b60008061223585612991565b90969095509350505050565b60006060600080612251866129a6565b90925090506001600160a01b0382166122a2578561226e87612a4a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613b7e565b806122b1576122b18689612b78565b861561231d577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061230582612bc4565b905061231a826123158b84613c27565b612c3d565b50505b60006123298760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123615761235c88888488612cd9565b61236d565b61236d88888488612d51565b90999098509650505050505050565b805160208201fd5b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611c70565b600060086123f260026020613eb4565b6123fc9190613ec7565b9190911c919050565b6060816000036124245750604080516020810190915260008152611bb4565b600061243085856128af565b9050611a6a81600085612db2565b6000600860018061245160026020613eb4565b61245b9190613eb4565b6124659190613eb4565b61246f9190613ec7565b8260ff911c1692915050565b6000611bb461248a8484612dd5565b5490565b600083836040516020016124a3929190613ede565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561259557602083106125385760208304840193506020838161253457612534613f1a565b0692505b821561259557602083900360008184101561255b5750600019600884021c612565565b50600019600882021c5b8554600886021b818451168219821617845250818411612586575050611b3d565b50600194909401939182900391015b5b602082106125b75783548152600190930192601f1990910190602001612596565b8115611b3d576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761260160ff601b83900360080287901c1683613c27565b91506001016125df565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361269557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161268893929190613f30565b60405180910390a2611b3d565b60006126a185856128af565b905060006126ae86612e2b565b905060005b81518110156127835760008282815181106126d0576126d0613c99565b602002602001015190506126fc6004826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561277a576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612747908b908b908b908b90600401613f63565b600060405180830381600087803b15801561276157600080fd5b505af1158015612775573d6000803e3d6000fd5b505050505b506001016126b3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516127b893929190613f30565b60405180910390a26127d3828565ffffffffffff1685612ed2565b60005b81518110156128a65760008282815181106127f3576127f3613c99565b6020026020010151905061281f6008826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561289d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061286a908b908b908b908b90600401613f63565b600060405180830381600087803b15801561288457600080fd5b505af1158015612898573d6000803e3d6000fd5b505050505b506001016127d6565b50505050505050565b600082826040516020016128c4929190613ede565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60006020821061292b5760208204840193506020828161292757612927613f1a565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612962858561247b565b9050600061297f828560ff166028026038011c64ffffffffff1690565b905061164d8686866000858888612ee8565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106129e0576129e0613c99565b602090810291909101015260008080612a397f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611fc0565b925092509250611e8f838383613322565b606081601081901b6000612a5d8361332e565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ab857612ab37fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613345565b612aef565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612b1657612b1183613345565b612b4d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612b5f93929190613f9c565b6040516020818303038152906040529350505050919050565b612b8282826133cb565b610afb57612b8f82612a4a565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e992919061402a565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612bfd57612bfd613c99565b60209081029190910101526000610fa07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b61214b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612c7357612c73613c99565b602002602001018181525050610e7f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612cbc91815260200190565b60408051601f19818403018152919052630100080160dd1b612136565b60006060836001600160a01b03166000612cf4858989613429565b604051612d019190614055565b60006040518083038185875af1925050503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b606091505b509097909650945050505050565b60006060836001600160a01b0316612d6a848888613429565b604051612d779190614055565b600060405180830381855af49150503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b60405160208101601f19603f84840101166040528282526106b98585858461250e565b60008282604051602001612dea929190613ede565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612e6557612e65613c99565b60209081029190910101526000612e9d7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613458565b9050610fa0612eaf8260008451613492565b613520565b60008160ff1682612ec58560581c90565b1660ff1614905092915050565b610e7f83838351612ee38560200190565b613531565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612fa8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612f6691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614071565b6000612fc3828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612fdc9190613eb4565b612fe69190613c27565b9050808214158015613008575081612ffe86886140b2565b64ffffffffff1614155b15613058576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff1611156130a9576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b60006130b68489846135f0565b905060006130c38b612e2b565b905060005b815181101561318e5760008282815181106130e5576130e5613c99565b602002602001015190506131116010826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561318557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161315297969594939291906140d7565b600060405180830381600087803b15801561316c57600080fd5b505af1158015613180573d6000803e3d6000fd5b505050505b506001016130c8565b5064ffffffffff881660005b8a60ff168160ff1610156131cd576131c1878260ff166028026038011c64ffffffffff1690565b9091019060010161319a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161320896959493929190614135565b60405180910390a2508284146132295760006132248c8c612dd5565b839055505b60006132368c8c8c61248e565b905061324a818a64ffffffffff1689612ed2565b5060005b815181101561331457600082828151811061326b5761326b613c99565b602002602001015190506132976020826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561330b57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016132d897969594939291906140d7565b600060405180830381600087803b1580156132f257600080fd5b505af1158015613306573d6000803e3d6000fd5b505050505b5060010161324e565b505050505050505050505050565b600080612235856136be565b600061333c60706010613c27565b9190911b919050565b606060005b601081101561339b576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561339b5760010161334a565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fa0565b60006134197f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836136da565b80611bb45750611bb483836136da565b606083838360405160200161344093929190614191565b60405160208183030381529060405290509392505050565b6060610fa061346885858561248e565b600061348d85613478898961247b565b9060ff166028026038011c64ffffffffff1690565b612db2565b6000818311806134a25750835182115b156134df578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906141d0565b602084016134ed8482613c27565b905060006134fb8585613eb4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bb483601560006137a3565b82156135ab576020831061355b5760208304840193506020838161355757613557613f1a565b0692505b82156135ab5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161359c575050611b3d565b50600194909401939182900391015b5b602082106135cd5780518455600190930192601f19909101906020016135ac565b8115611b3d576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff821115613634576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613666578085038201915061366e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c61299f565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061371357613713613c99565b602002602001018181525050826001600160a01b031660001b8160018151811061373f5761373f613c99565b602090810291909101015260006137977f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061214b565b9050611a6a8160f81c90565b606060006137b18560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816137d7576137d7613f1a565b04905060405193506020840160208202810160405281855260005b82811015613812578451871c8252938701936020909101906001016137f2565b50505050509392505050565b60405180610100016040528060008152602001600081526020016000600281111561384b5761384b6138cf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561388657600080fd5b5035919050565b60006020828403121561389f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb457600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c2e57634e487b7160e01b600052602160045260246000fd5b81518152602080830151908201526040820151610100820190613925816138e5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c2e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156139b8576139b8613979565b604052919050565b600067ffffffffffffffff8211156139da576139da613979565b50601f01601f191660200190565b600082601f8301126139f957600080fd5b8135613a0c613a07826139c0565b61398f565b818152846020838601011115613a2157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613a5357600080fd5b8335613a5e81613964565b925060208401359150604084013567ffffffffffffffff811115613a8157600080fd5b613a8d868287016139e8565b9150509250925092565b60208101613aa4836138e5565b91905290565b600080600060608486031215613abf57600080fd5b8335925060208401359150604084013560038110613adc57600080fd5b809150509250925092565b60008060408385031215613afa57600080fd5b82359150602083013567ffffffffffffffff811115613b1857600080fd5b613b24858286016139e8565b9150509250929050565b60005b83811015613b49578181015183820152602001613b31565b50506000910152565b60008151808452613b6a816020860160208601613b2e565b601f01601f19169290920160200192915050565b828152604060208201526000610fa06040830184613b52565b600082601f830112613ba857600080fd5b8151613bb6613a07826139c0565b818152846020838601011115613bcb57600080fd5b610fa0826020830160208701613b2e565b600060208284031215613bee57600080fd5b815167ffffffffffffffff811115613c0557600080fd5b610fa084828501613b97565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c11565b60006000198203613c4d57613c4d613c11565b5060010190565b600060208284031215613c6657600080fd5b8151611bb481613964565b838152613c7d836138e5565b826020820152606060408201526000611a6a6060830184613b52565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf75780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613d3057815187529582019590820190600101613d14565b509495945050505050565b838152606060208201526000613d546060830185613cff565b9050826040830152949350505050565b600080600060608486031215613d7957600080fd5b835167ffffffffffffffff80821115613d9157600080fd5b613d9d87838801613b97565b9450602086015193506040860151915080821115613dba57600080fd5b50613a8d86828701613b97565b85815260a060208201526000613de060a0830187613cff565b60ff861660408401528281036060840152613dfb8186613b52565b9150508260808301529695505050505050565b848152608060208201526000613e276080830186613cff565b60ff949094166040830152506060015292915050565b600060208284031215613e4f57600080fd5b5051919050565b600060ff821660ff8103613e6c57613e6c613c11565b60010192915050565b848152608060208201526000613e8e6080830186613cff565b60ff851660408401528281036060840152613ea98185613b52565b979650505050505050565b8181038181111561043957610439613c11565b808202811582820484141761043957610439613c11565b8281526000602080830184516020860160005b82811015613f0d57815184529284019290840190600101613ef1565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613f436060830186613cff565b65ffffffffffff851660208401528281036040840152610cf98185613b52565b848152608060208201526000613f7c6080830186613cff565b65ffffffffffff851660408401528281036060840152613ea98185613b52565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451613ffd816003860160208901613b2e565b80840190508160038201528451915061401d826004830160208801613b2e565b0160040195945050505050565b60408152600061403d6040830185613b52565b90506001600160a01b03831660208301529392505050565b60008251614067818460208701613b2e565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611a6a6060830184613b52565b64ffffffffff8181168382160190808211156140d0576140d0613c11565b5092915050565b87815260e0602082015260006140f060e0830189613cff565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141278185613b52565b9a9950505050505050505050565b60c08152600061414860c0830189613cff565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526141848185613b52565b9998505050505050505050565b600084516141a3818460208901613b2e565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006141e36060830186613b52565b6020830194909452506040015291905056fea26469706673582212205343db4bfeaaf942566bbd790ef0e64cd9c2e7ee2af78a797a460cb8dc50f1ae64736f6c63430008180033","sourceMap":"1738:5941:210:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:144;;;;;;;;;;-1:-1:-1;2899:144:210;;;;;:::i;:::-;3032:2;3008:26;;2899:144;;;;-1:-1:-1;;;;;363:55:226;;;345:74;;333:2;318:18;2899:144:210;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:226;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:226;7553:124:210;;;;;;;;;;-1:-1:-1;7553:124:210;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;3819:837:210:-;;;;;;;;;;-1:-1:-1;3819:837:210;;;;;:::i;:::-;;:::i;:::-;;;4284:25:226;;;4272:2;4257:18;3819:837:210;4138:177:226;1915:129:210;;;;;;;;;;-1:-1:-1;1915:129:210;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5601:483::-;;;;;;;;;;-1:-1:-1;5601:483:210;;;;;:::i;:::-;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1779:130:210;;;;;;;;;;-1:-1:-1;1779:130:210;;;;;:::i;:::-;;:::i;3049:413::-;;;;;;;;;;-1:-1:-1;3049:413:210;;;;;:::i;:::-;;:::i;4662:545::-;;;;;;:::i;:::-;;:::i;:::-;;2386:266;;;;;;;;;;-1:-1:-1;2386:266:210;;;;;:::i;:::-;;:::i;6090:219::-;;;;;;;;;;-1:-1:-1;6090:219:210;;;;;:::i;:::-;;:::i;5213:382::-;;;;;;;;;;-1:-1:-1;5213:382:210;;;;;:::i;:::-;;:::i;7155:125::-;;;;;;;;;;-1:-1:-1;7155:125:210;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7417:130:210:-;;;;;;;;;;-1:-1:-1;7417:130:210;;;;;:::i;:::-;;:::i;2658:143::-;;;;;;;;;;-1:-1:-1;2658:143:210;;;;;:::i;:::-;2756:37;;;2658:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7553:124:210:-;7613:16;;:::i;:::-;7648:22;7658:11;7648:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3819:837:210:-;3929:19;3964:24;3991:28;:26;:28::i;:::-;3964:55;-1:-1:-1;4056:16:210;4037:35;;4029:83;;;;-1:-1:-1;;;4029:83:210;;5935:2:226;4029:83:210;;;5917:21:226;5974:2;5954:18;;;5947:30;6013:34;5993:18;;;5986:62;6084:5;6064:18;;;6057:33;6107:19;;4029:83:210;;;;;;;;;4129:8;:6;:8::i;:::-;-1:-1:-1;;;;;4122:21:210;;4157:37;4173:20;4157:15;:37::i;:::-;4196:65;;-1:-1:-1;;;;;6329:55:226;;4196:65:210;;;6311:74:226;6401:18;;;6394:34;;;6284:18;;4196:65:210;;;-1:-1:-1;;4196:65:210;;;;;;;;;;;;;;;;;;;;4122:149;;4196:65;4122:149;;;;;;;;;4196:65;4122:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4122:149:210;;;;;;;;;;;;:::i;:::-;;4295:35;4313:16;4295:17;:35::i;:::-;4281:49;;4340:41;4360:11;4373:7;4340:19;:41::i;:::-;4391:52;4413:11;4426:16;4391:21;:52::i;:::-;4462:25;4482:4;4462:19;:25::i;:::-;4461:26;4453:58;;;;-1:-1:-1;;;4453:58:210;;8342:2:226;4453:58:210;;;8324:21:226;8381:2;8361:18;;;8354:30;8420:21;8400:18;;;8393:49;8459:18;;4453:58:210;8140:343:226;4453:58:210;4521:31;4541:4;4547;4521:19;:31::i;:::-;4562:37;4581:11;4594:4;4562:18;:37::i;:::-;4609:40;4622:16;4640:8;4609:12;:40::i;:::-;3954:702;3819:837;;;;;:::o;1915:129::-;1975:14;2010:27;2025:11;2010:14;:27::i;5601:483::-;5667:20;5717:14;5728:2;5717:10;:14::i;:::-;5703:10;:28;5699:379;;-1:-1:-1;5762:2:210;5601:483;;;:::o;5699:379::-;5800:9;5795:273;5815:2;5811:1;:6;5795:273;;;5859:10;5842:13;5853:1;5842:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;5893:10:210;5873:17;5884:5;:1;5888;5884:5;:::i;:::-;5873:10;:17::i;:::-;:30;5842:61;5838:155;;;5942:5;:1;5946;5942:5;:::i;:::-;5927:20;;5969:5;;5838:155;6032:3;;;;:::i;:::-;;;;5795:273;;;;5601:483;;;:::o;1779:130::-;1838:13;1871:31;1890:11;1871:18;:31::i;3049:413::-;3119:4;3135:20;3158:28;3174:11;3032:2;3008:26;;2899:144;3158:28;3135:51;-1:-1:-1;2756:37:210;;;3196:15;3285:17;:15;:17::i;:::-;-1:-1:-1;;;;;3285:25:210;;3311:7;3285:34;;;;;;;;;;;;;4284:25:226;;4272:2;4257:18;;4138:177;3285:34:210;;;;;;;;;;;;;;;;;;;-1:-1:-1;3285:34:210;;;;;;;;-1:-1:-1;;3285:34:210;;;;;;;;;;;;:::i;:::-;;;3281:135;;;3362:17;:15;:17::i;:::-;-1:-1:-1;;;;;3362:25:210;;3388:7;3362:34;;;;;;;;;;;;;4284:25:226;;4272:2;4257:18;;4138:177;3362:34:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:44;;3320:87;3281:135;3443:12;-1:-1:-1;;;;;3432:23:210;:7;-1:-1:-1;;;;;3432:23:210;;3425:30;;;;;3049:413;;;:::o;4662:545::-;4777:33;4798:11;4777:20;:33::i;:::-;4776:34;4768:90;;;;-1:-1:-1;;;4768:90:210;;9465:2:226;4768:90:210;;;9447:21:226;9504:2;9484:18;;;9477:30;9543:34;9523:18;;;9516:62;9614:13;9594:18;;;9587:41;9645:19;;4768:90:210;9263:407:226;4768:90:210;4876:21;4885:11;4876:8;:21::i;:::-;4868:53;;;;-1:-1:-1;;;4868:53:210;;9877:2:226;4868:53:210;;;9859:21:226;9916:2;9896:18;;;9889:30;9955:21;9935:18;;;9928:49;9994:18;;4868:53:210;9675:343:226;4868:53:210;4931:26;4999:34;5014:11;5027:5;4999:14;:34::i;:::-;5090:110;5143:16;5161:11;5185;5174:23;;;;;;4284:25:226;;4272:2;4257:18;;4138:177;5174:23:210;;;;-1:-1:-1;;5174:23:210;;;;;;;;;;5108:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5108:91:210;;;;;;;;;;;;;;;;;;;;5090:17;:110::i;:::-;;4758:449;4662:545;;;:::o;2386:266::-;2460:19;2491:20;2514:17;:15;:17::i;:::-;-1:-1:-1;;;;;2514:25:210;;2540:16;2514:43;;;;;;;;;;;;;4284:25:226;;4272:2;4257:18;;4138:177;2514:43:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2623:2;2589:36;-1:-1:-1;;2589:36:210;:55;;;;;;-1:-1:-1;;2386:266:210:o;6090:219::-;6184:21;6193:11;6184:8;:21::i;:::-;6176:60;;;;-1:-1:-1;;;6176:60:210;;10654:2:226;6176:60:210;;;10636:21:226;10693:2;10673:18;;;10666:30;10732:28;10712:18;;;10705:56;10778:18;;6176:60:210;10452:350:226;6176:60:210;6246:56;2756:37;;;6293:8;6246:12;:56::i;:::-;6090:219;;:::o;5213:382::-;5278:21;5287:11;5278:8;:21::i;:::-;5270:52;;;;-1:-1:-1;;;5270:52:210;;11009:2:226;5270:52:210;;;10991:21:226;11048:2;11028:18;;;11021:30;11087:20;11067:18;;;11060:48;11125:18;;5270:52:210;10807:342:226;5270:52:210;5341:33;5362:11;5341:20;:33::i;:::-;5340:34;5332:72;;;;-1:-1:-1;;;5332:72:210;;11356:2:226;5332:72:210;;;11338:21:226;11395:2;11375:18;;;11368:30;11434:27;11414:18;;;11407:55;11479:18;;5332:72:210;11154:349:226;5332:72:210;5415:31;5425:11;5438:7;5415:9;:31::i;:::-;5494:8;:6;:8::i;:::-;-1:-1:-1;;;;;5487:38:210;;5526:11;5487:51;;;;;;;;;;;;;4284:25:226;;4272:2;4257:18;;4138:177;5487:51:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5549:39;5570:11;5583:4;5549:20;:39::i;:::-;5213:382;:::o;7155:125::-;7215:7;7241:32;7261:11;7241:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7417:130:210:-;7482:7;7508:32;7528:11;7508:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;6489:347:210:-;6545:7;6564:25;6592:42;:40;:42::i;:::-;6564:70;;6644:24;6671:50;6699:17;6719:1;6671:19;:50::i;:::-;:54;;6724:1;6671:54;:::i;:::-;6644:81;;6735:61;6755:17;6774:1;6778:16;6735:19;:61::i;1094:186:217:-;1152:10;1177:100;1212:15;1240:9;1257:18;1177:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;11846:2:226;11842:15;;;;-1:-1:-1;;11838:88:226;11826:101;;11952:2;11943:12;;11697:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12095:19:226;;12139:2;12130:12;;11966:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12304:14:226;12297:22;12292:3;12288:32;12276:45;;12346:1;12337:11;;12153:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12095:19:226;;12139:2;12130:12;;11966:182;6315:168:210;6397:79;6418:38;6435:20;6418:16;:38::i;:::-;6458:7;6467:8;6397:20;:79::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2205:175:210:-;2255:30;2330:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;6982:167:210:-;7044:4;7083:17;:15;:17::i;:::-;:59;;;;;2756:37;;;7083:59;;;4284:25:226;-1:-1:-1;;;;;7083:25:210;;;;;;;4257:18:226;;7083:59:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7067:75:210;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7067:75:210;;;6982:167;-1:-1:-1;;6982:167:210:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;12691:3:226;12687:16;;;;12705:66;12683:89;12671:102;;12798:1;12789:11;;12546:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13367:98:226;13340:18;;3713:52:107;13223:248:226;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;7286:125:210:-;7361:7;:5;:7::i;:::-;-1:-1:-1;;;;;7361:12:210;;7374:21;7383:11;7374:8;:21::i;:::-;7361:43;;;;;;;;;;-1:-1:-1;;;;;6329:55:226;;;7361:43:210;;;6311:74:226;6401:18;;;6394:34;;;6284:18;;7361:43:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7286:125;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12304:14:226;12297:22;12292:3;12288:32;12276:45;;12346:1;12337:11;;12153:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12095:19:226;;12139:2;12130:12;;11966:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;6842:134:210:-;6882:17;6931:37;:35;:37::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;4058:247:196;4159:16;;;4105:17;4159:16;;;;;;;;;4182:13;4198:64;1269:66;4130:45;4246:1;1398:66;4198:26;:64::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12095:19:226;;12139:2;12130:12;;11966:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12095:19:226;;12139:2;12130:12;;11966:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;22541:12:226;22580:15;;;45340:92:45;;;22562:34:226;22632:15;;;22612:18;;;22605:43;22684:15;;22664:18;;;22657:43;22504:18;;45340:92:45;22335:371:226;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;22884:25:226;;;22957:12;22945:25;;22925:18;;;22918:53;22857:18;;45581:74:45;22711:266:226;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;24822:79:226;;2092:30:124;;;24810:92:226;2092:30:124;;24918:12:226;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:226;;;4257:18;;7664:67:24;4138:177:226;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:226:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:226;;14:180;-1:-1:-1;14:180:226:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:226;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:226;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1419:777;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:226;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:226;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:226;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:226:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:226;3037:15;-1:-1:-1;;3033:88:226;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:226:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:226;3925:18;;3912:32;;-1:-1:-1;3995:2:226;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4320:235::-;4466:2;4451:18;;4478:37;4508:6;4478:37;:::i;:::-;4524:25;;;4320:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:390::-;5416:6;5424;5477:2;5465:9;5456:7;5452:23;5448:32;5445:52;;;5493:1;5490;5483:12;5445:52;5529:9;5516:23;5506:33;;5590:2;5579:9;5575:18;5562:32;5617:18;5609:6;5606:30;5603:50;;;5649:1;5646;5639:12;5603:50;5672;5714:7;5705:6;5694:9;5690:22;5672:50;:::i;:::-;5662:60;;;5338:390;;;;;:::o;6439:250::-;6524:1;6534:113;6548:6;6545:1;6542:13;6534:113;;;6624:11;;;6618:18;6605:11;;;6598:39;6570:2;6563:10;6534:113;;;-1:-1:-1;;6681:1:226;6663:16;;6656:27;6439:250::o;6694:329::-;6735:3;6773:5;6767:12;6800:6;6795:3;6788:19;6816:76;6885:6;6878:4;6873:3;6869:14;6862:4;6855:5;6851:16;6816:76;:::i;:::-;6937:2;6925:15;-1:-1:-1;;6921:88:226;6912:98;;;;7012:4;6908:109;;6694:329;-1:-1:-1;;6694:329:226:o;7028:320::-;7235:6;7224:9;7217:25;7278:2;7273;7262:9;7258:18;7251:30;7198:4;7298:44;7338:2;7327:9;7323:18;7315:6;7298:44;:::i;7353:442::-;7406:5;7459:3;7452:4;7444:6;7440:17;7436:27;7426:55;;7477:1;7474;7467:12;7426:55;7506:6;7500:13;7537:49;7553:32;7582:2;7553:32;:::i;7537:49::-;7611:2;7602:7;7595:19;7657:3;7650:4;7645:2;7637:6;7633:15;7629:26;7626:35;7623:55;;;7674:1;7671;7664:12;7623:55;7687:77;7761:2;7754:4;7745:7;7741:18;7734:4;7726:6;7722:17;7687:77;:::i;7800:335::-;7879:6;7932:2;7920:9;7911:7;7907:23;7903:32;7900:52;;;7948:1;7945;7938:12;7900:52;7981:9;7975:16;8014:18;8006:6;8003:30;8000:50;;;8046:1;8043;8036:12;8000:50;8069:60;8121:7;8112:6;8101:9;8097:22;8069:60;:::i;8488:184::-;-1:-1:-1;;;8537:1:226;8530:88;8637:4;8634:1;8627:15;8661:4;8658:1;8651:15;8677:125;8742:9;;;8763:10;;;8760:36;;;8776:18;;:::i;8807:195::-;8846:3;-1:-1:-1;;8870:5:226;8867:77;8864:103;;8947:18;;:::i;:::-;-1:-1:-1;8994:1:226;8983:13;;8807:195::o;9007:251::-;9077:6;9130:2;9118:9;9109:7;9105:23;9101:32;9098:52;;;9146:1;9143;9136:12;9098:52;9178:9;9172:16;9197:31;9222:5;9197:31;:::i;10023:424::-;10245:6;10234:9;10227:25;10261:37;10291:6;10261:37;:::i;:::-;10334:6;10329:2;10318:9;10314:18;10307:34;10377:2;10372;10361:9;10357:18;10350:30;10208:4;10397:44;10437:2;10426:9;10422:18;10414:6;10397:44;:::i;11508:184::-;-1:-1:-1;;;11557:1:226;11550:88;11657:4;11654:1;11647:15;11681:4;11678:1;11671:15;12811:407;12894:5;12934;12928:12;12976:4;12969:5;12965:16;12959:23;13001:66;13093:2;13089;13085:11;13076:20;;13119:1;13111:6;13108:13;13105:107;;;13199:2;13193;13183:6;13180:1;13176:14;13173:1;13169:22;13165:31;13161:2;13157:40;13153:49;13144:58;;13105:107;;;;12811:407;;;:::o;13476:439::-;13529:3;13567:5;13561:12;13594:6;13589:3;13582:19;13620:4;13649;13644:3;13640:14;13633:21;;13688:4;13681:5;13677:16;13711:1;13721:169;13735:6;13732:1;13729:13;13721:169;;;13796:13;;13784:26;;13830:12;;;;13865:15;;;;13757:1;13750:9;13721:169;;;-1:-1:-1;13906:3:226;;13476:439;-1:-1:-1;;;;;13476:439:226:o;13920:468::-;14220:6;14209:9;14202:25;14263:2;14258;14247:9;14243:18;14236:30;14183:4;14283:56;14335:2;14324:9;14320:18;14312:6;14283:56;:::i;:::-;14275:64;;14375:6;14370:2;14359:9;14355:18;14348:34;13920:468;;;;;;:::o;14393:655::-;14535:6;14543;14551;14604:2;14592:9;14583:7;14579:23;14575:32;14572:52;;;14620:1;14617;14610:12;14572:52;14653:9;14647:16;14682:18;14723:2;14715:6;14712:14;14709:34;;;14739:1;14736;14729:12;14709:34;14762:60;14814:7;14805:6;14794:9;14790:22;14762:60;:::i;:::-;14752:70;;14862:2;14851:9;14847:18;14841:25;14831:35;;14912:2;14901:9;14897:18;14891:25;14875:41;;14941:2;14931:8;14928:16;14925:36;;;14957:1;14954;14947:12;14925:36;;14980:62;15034:7;15023:8;15012:9;15008:24;14980:62;:::i;15053:709::-;15423:6;15412:9;15405:25;15466:3;15461:2;15450:9;15446:18;15439:31;15386:4;15493:57;15545:3;15534:9;15530:19;15522:6;15493:57;:::i;:::-;15598:4;15590:6;15586:17;15581:2;15570:9;15566:18;15559:45;15652:9;15644:6;15640:22;15635:2;15624:9;15620:18;15613:50;15680:32;15705:6;15697;15680:32;:::i;:::-;15672:40;;;15749:6;15743:3;15732:9;15728:19;15721:35;15053:709;;;;;;;;:::o;15767:548::-;16091:6;16080:9;16073:25;16134:3;16129:2;16118:9;16114:18;16107:31;16054:4;16155:57;16207:3;16196:9;16192:19;16184:6;16155:57;:::i;:::-;16260:4;16248:17;;;;16243:2;16228:18;;16221:45;-1:-1:-1;16297:2:226;16282:18;16275:34;16147:65;15767:548;-1:-1:-1;;15767:548:226:o;16320:184::-;16390:6;16443:2;16431:9;16422:7;16418:23;16414:32;16411:52;;;16459:1;16456;16449:12;16411:52;-1:-1:-1;16482:16:226;;16320:184;-1:-1:-1;16320:184:226:o;16509:175::-;16546:3;16590:4;16583:5;16579:16;16619:4;16610:7;16607:17;16604:43;;16627:18;;:::i;:::-;16676:1;16663:15;;16509:175;-1:-1:-1;;16509:175:226:o;16689:604::-;16998:6;16987:9;16980:25;17041:3;17036:2;17025:9;17021:18;17014:31;16961:4;17068:57;17120:3;17109:9;17105:19;17097:6;17068:57;:::i;:::-;17173:4;17165:6;17161:17;17156:2;17145:9;17141:18;17134:45;17227:9;17219:6;17215:22;17210:2;17199:9;17195:18;17188:50;17255:32;17280:6;17272;17255:32;:::i;:::-;17247:40;16689:604;-1:-1:-1;;;;;;;16689:604:226:o;17625:128::-;17692:9;;;17713:11;;;17710:37;;;17727:18;;:::i;17758:168::-;17831:9;;;17862;;17879:15;;;17873:22;;17859:37;17849:71;;17900:18;;:::i;17931:640::-;18182:6;18177:3;18170:19;18152:3;18208:2;18241;18236:3;18232:12;18273:6;18267:13;18338:2;18330:6;18326:15;18359:1;18369:175;18383:6;18380:1;18377:13;18369:175;;;18446:13;;18432:28;;18482:14;;;;18519:15;;;;18405:1;18398:9;18369:175;;;-1:-1:-1;18560:5:226;;17931:640;-1:-1:-1;;;;;;;17931:640:226:o;18576:184::-;-1:-1:-1;;;18625:1:226;18618:88;18725:4;18722:1;18715:15;18749:4;18746:1;18739:15;18765:511;19016:2;19005:9;18998:21;18979:4;19042:56;19094:2;19083:9;19079:18;19071:6;19042:56;:::i;:::-;19146:14;19138:6;19134:27;19129:2;19118:9;19114:18;19107:55;19210:9;19202:6;19198:22;19193:2;19182:9;19178:18;19171:50;19238:32;19263:6;19255;19238:32;:::i;19281:616::-;19592:6;19581:9;19574:25;19635:3;19630:2;19619:9;19615:18;19608:31;19555:4;19662:57;19714:3;19703:9;19699:19;19691:6;19662:57;:::i;:::-;19767:14;19759:6;19755:27;19750:2;19739:9;19735:18;19728:55;19831:9;19823:6;19819:22;19814:2;19803:9;19799:18;19792:50;19859:32;19884:6;19876;19859:32;:::i;19902:925::-;20351:66;20343:6;20339:79;20334:3;20327:92;20309:3;20438;20470:2;20466:1;20461:3;20457:11;20450:23;20502:6;20496:13;20518:74;20585:6;20581:1;20576:3;20572:11;20565:4;20557:6;20553:17;20518:74;:::i;:::-;20620:6;20615:3;20611:16;20601:26;;20655:2;20651:1;20647:2;20643:10;20636:22;20689:6;20683:13;20667:29;;20705:75;20771:8;20767:1;20763:2;20759:10;20752:4;20744:6;20740:17;20705:75;:::i;:::-;20800:17;20819:1;20796:25;;19902:925;-1:-1:-1;;;;;19902:925:226:o;20832:339::-;21009:2;20998:9;20991:21;20972:4;21029:44;21069:2;21058:9;21054:18;21046:6;21029:44;:::i;:::-;21021:52;;-1:-1:-1;;;;;21113:6:226;21109:55;21104:2;21093:9;21089:18;21082:83;20832:339;;;;;:::o;21176:287::-;21305:3;21343:6;21337:13;21359:66;21418:6;21413:3;21406:4;21398:6;21394:17;21359:66;:::i;:::-;21441:16;;;;;21176:287;-1:-1:-1;;21176:287:226:o;21687:464::-;21934:66;21926:6;21922:79;21911:9;21904:98;22038:6;22033:2;22022:9;22018:18;22011:34;22081:2;22076;22065:9;22061:18;22054:30;21885:4;22101:44;22141:2;22130:9;22126:18;22118:6;22101:44;:::i;22156:174::-;22223:12;22255:10;;;22267;;;22251:27;;22290:11;;;22287:37;;;22304:18;;:::i;:::-;22287:37;22156:174;;;;:::o;22982:901::-;23407:6;23396:9;23389:25;23450:3;23445:2;23434:9;23430:18;23423:31;23370:4;23477:57;23529:3;23518:9;23514:19;23506:6;23477:57;:::i;:::-;23582:4;23570:17;;23565:2;23550:18;;23543:45;23607:12;23655:15;;;23650:2;23635:18;;23628:43;23708:15;;23702:3;23687:19;;23680:44;23755:3;23740:19;;23733:35;;;23805:22;;;23799:3;23784:19;;23777:51;23845:32;23809:6;23862;23845:32;:::i;:::-;23837:40;22982:901;-1:-1:-1;;;;;;;;;;22982:901:226:o;23888:788::-;24253:3;24242:9;24235:22;24216:4;24280:57;24332:3;24321:9;24317:19;24309:6;24280:57;:::i;:::-;24385:4;24377:6;24373:17;24368:2;24357:9;24353:18;24346:45;24439:14;24431:6;24427:27;24422:2;24411:9;24407:18;24400:55;24503:12;24495:6;24491:25;24486:2;24475:9;24471:18;24464:53;24554:6;24548:3;24537:9;24533:19;24526:35;24610:9;24602:6;24598:22;24592:3;24581:9;24577:19;24570:51;24638:32;24663:6;24655;24638:32;:::i;:::-;24630:40;23888:788;-1:-1:-1;;;;;;;;;23888:788:226:o;24941:530::-;25126:3;25164:6;25158:13;25180:66;25239:6;25234:3;25227:4;25219:6;25215:17;25180:66;:::i;:::-;25315:2;25311:15;;;;-1:-1:-1;;25307:88:226;25268:16;;;;25293:103;;;25423:2;25412:14;;25405:30;;;;25462:2;25451:14;;24941:530;-1:-1:-1;;24941:530:226:o;25476:359::-;25679:2;25668:9;25661:21;25642:4;25699:44;25739:2;25728:9;25724:18;25716:6;25699:44;:::i;:::-;25774:2;25759:18;;25752:34;;;;-1:-1:-1;25817:2:226;25802:18;25795:34;25691:52;25476:359;-1:-1:-1;25476:359:226:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentLevel(uint256)":"3d0854ae","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xb84abf73925cc09d3b4485612cdf6bdfb41f43e396a7cab318a092155e7c7d61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5675b9f3eac7f784fdc8dc86ab0525f4c7655fffea6bbe3058353ff6e1d9811f\",\"dweb:/ipfs/QmQHeYZixt3FtBNKrGU1xj3vxc5Cv1KeARxWX7XmNdC1Nh\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xccf04cacce39f86742d109d243c1b17b947650a17d482bfee4e682ce43f05881\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c910fa067203cb370c0eb5dce4ce1b3cfff166079963a4261a7db8a4db87fbb7\",\"dweb:/ipfs/QmNiknjWZFzp8t38dwhRfTrvJtoHHnrQzuGQjjSTdyZsxX\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1b5fdd11b046dba8091312776b0aaf2a015992a2c794a54696e7dda21ddfee62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de52255175f50d737bde1fc543c1f82524f4cd89fef1a29e3a26333e15be7c22\",\"dweb:/ipfs/QmQXWEbqp97QCjofXc42YDi35QG3wRsuctXXhhyzLmnSFo\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x9bfd55b66c63b1f0fee65eed47dc4f15e99488f7f4923f08221dee4dd50d3765\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://253edb2df8f17afc7e8a9822350d36b0acbfa0f21f6eadb89a5fa73ac331a93e\",\"dweb:/ipfs/QmP785ioQpxikiCQhgE6sf2k32EZ1anUYHu9ZCyGxiYKA7\"]},\"src/utils.sol\":{\"keccak256\":\"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c\",\"dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xb84abf73925cc09d3b4485612cdf6bdfb41f43e396a7cab318a092155e7c7d61","urls":["bzz-raw://5675b9f3eac7f784fdc8dc86ab0525f4c7655fffea6bbe3058353ff6e1d9811f","dweb:/ipfs/QmQHeYZixt3FtBNKrGU1xj3vxc5Cv1KeARxWX7XmNdC1Nh"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xccf04cacce39f86742d109d243c1b17b947650a17d482bfee4e682ce43f05881","urls":["bzz-raw://c910fa067203cb370c0eb5dce4ce1b3cfff166079963a4261a7db8a4db87fbb7","dweb:/ipfs/QmNiknjWZFzp8t38dwhRfTrvJtoHHnrQzuGQjjSTdyZsxX"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1b5fdd11b046dba8091312776b0aaf2a015992a2c794a54696e7dda21ddfee62","urls":["bzz-raw://de52255175f50d737bde1fc543c1f82524f4cd89fef1a29e3a26333e15be7c22","dweb:/ipfs/QmQXWEbqp97QCjofXc42YDi35QG3wRsuctXXhhyzLmnSFo"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x9bfd55b66c63b1f0fee65eed47dc4f15e99488f7f4923f08221dee4dd50d3765","urls":["bzz-raw://253edb2df8f17afc7e8a9822350d36b0acbfa0f21f6eadb89a5fa73ac331a93e","dweb:/ipfs/QmP785ioQpxikiCQhgE6sf2k32EZ1anUYHu9ZCyGxiYKA7"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5","urls":["bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c","dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx"],"license":"MIT"}},"version":1},"id":210}
\ No newline at end of file
+{"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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061422b806100206000396000f3fe6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc5780633d0854ae116100e15780633d0854ae1461023857806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd578063238015701461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613874565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b61018636600461388d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613874565b61043f565b6040516101629190613903565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613a3e565b61045f565b604051908152602001610162565b34801561021757600080fd5b5061022b610226366004613874565b6106c1565b6040516101629190613a97565b34801561024457600080fd5b506101fd610253366004613874565b6106cc565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613874565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613874565b610755565b6102c36102be366004613aaa565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613874565b6109f9565b3480156102f157600080fd5b506102c3610300366004613ae7565b610a8e565b34801561031157600080fd5b506102c3610320366004613874565b610aff565b34801561033157600080fd5b5061014e610340366004613874565b610c31565b34801561035157600080fd5b5061014e610c3c565b34801561036657600080fd5b506101fd610375366004613874565b610c46565b34801561038657600080fd5b506101fd610395366004613874565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b61044761381e565b61043982610c51565b600061045a610d03565b905090565b60008061046a610d35565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c3c565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d68565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613b7e565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613bdc565b5061062e816109f9565b915061063a8286610db5565b6106448282610e84565b61064d84610f03565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fa8565b6106af8285611061565b6106b981846110e0565b509392505050565b600061043982611113565b60006106d860136111bd565b82106106e657506014919050565b60005b601481101561074457826106fc826111bd565b1115801561071b575082610719610714836001613c27565b6111bd565b115b156107325761072b816001613c27565b9150610744565b8061073c81613c3a565b9150506106e9565b50919050565b600061043982611239565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112cb565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613c54565b60015b15610862576107f06112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613c54565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112d5565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611367565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e8383611423565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613c71565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a40000000000000000000000000000000000000000000000000000000017905261150c565b5050505050565b600080610a046112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613c54565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611367565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110e0565b5050565b610b0881611367565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112d5565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bbc81674563918244f400006115ba565b610bc4610c3c565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bf191815260200190565b600060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b50505050610c2e816001611655565b50565b6000610439826116d9565b600061045a611776565b600061043982611780565b610c5961381e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c8f57610c8f613c99565b602090810291909101015260008080610ce87f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611812565b925092509250610cf98383836118e2565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d325750335b90565b600080610d4061195a565b90506000610d4f8260006119c2565b610d5a906001613c27565b905061043982600083611a73565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610deb57610deb613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e4a919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611bbb565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610eba57610eba613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e4a91815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f3c57610f3c613c99565b60209081029190910101526000610f947f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611c70565b9050610fa08160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fde57610fde613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161102c91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611bbb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061109757611097613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e4a91815260200190565b610afb61110c7f4368617261637465727300000000000000000000000000000000000000000000611d2d565b8383611d7a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061114c5761114c613c99565b602090810291909101015260006111a57f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611c70565b905060f881901c6002811115610fa057610fa06138cf565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111f9576111f9613c99565b60209081029190910101526000610fa07f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611c70565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127257611272613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611c70565b600061045a61195a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061130e5761130e613c99565b60209081029190910101526000610f947f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611c70565b60006113716112cb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190613c54565b6001600160a01b0316611413610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061145957611459613c99565b6020908102919091010152610e7f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561149c5761149c6138cf565b6040516020016114d7919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611bbb565b606060008061152261151d85613caf565b611dcc565b91509150816000801b03611588576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fa08285611e9c565b6115c2611f77565b6001600160a01b03166340c10f196115d984610c31565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561163957600080fd5b505af115801561164d573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061168b5761168b613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e4a91151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061171257611712613c99565b6020908102919091010152600061176b7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611c70565b60601c949350505050565b600061045a611f81565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117b9576117b9613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611c70565b6060600060606000611822611f81565b9050306001600160a01b0382160361184b5761183f878787611fc0565b935093509350506118d9565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611894908a908a908a90600401613d3b565b600060405180830381865afa1580156118b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261183f9190810190613d64565b93509350939050565b6118ea61381e565b6118f3846120c8565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611931576119316138cf565b6002811115611942576119426138cf565b90529790975250505093909252509195945050505050565b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611c70565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a0757611a07613c99565b6020026020010181815250508260001b81600181518110611a2a57611a2a613c99565b60209081029190910101526000611a6a7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611c70565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611ab457611ab4613c99565b6020026020010181815250508260001b81600181518110611ad757611ad7613c99565b602002602001018181525050611b3d7f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611b2091815260200190565b60408051601f19818403018152919052630100080160dd1b611bbb565b50505050565b6000611b5160706010613c27565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611bc5611f81565b9050306001600160a01b03821603611be957611be48686868686612136565b61164d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611c369089908990899089908990600401613dc7565b600060405180830381600087803b158015611c5057600080fd5b505af1158015611c64573d6000803e3d6000fd5b50505050505050505050565b600080611c7b611f81565b9050306001600160a01b03821603611ca157611c998686868661214b565b915050610fa0565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611cec908990899089908990600401613e0e565b602060405180830381865afa158015611d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c999190613e3d565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611db357611db3613c99565b602002602001018181525050611b3d8482600085612178565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611e2557611e25613c99565b602090810291909101015260008080611e7e7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611812565b925092509250611e8f838383612229565b9550955050505050915091565b60606000611ea8611776565b90506001600160a01b0381163003611ee9576000611ed0611ec7610d03565b60008787612241565b9350905080611ee257611ee28361237c565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611f309087908790600401613b7e565b6000604051808303816000875af1158015611f4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa09190810190613bdc565b600061045a612384565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611fbb573391505090565b919050565b6060600060606000611fd1856123e2565b9050611fde878783612405565b93506000611feb8661243e565b905080156120bd57611ffd888861247b565b935066ffffffffffffff841667ffffffffffffffff81111561202157612021613979565b6040519080825280601f01601f19166020018201604052801561204b576020820181803683370190505b5092506020830160005b828160ff1610156120ba57600061206d8b8b8461248e565b9050600061208a888460ff166028026038011c64ffffffffff1690565b9050612099826000838761250e565b6120a38185613c27565b9350505080806120b290613e56565b915050612055565b50505b505093509350939050565b6000806000806000806000806120e2896000016020015190565b60408a015160608b0151919950975060f81c6002811115612105576121056138cf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f2858561214584876125da565b8561260b565b6000611a6a61215a86866128af565b60ff858116601b0360080285901c1661217385876125da565b612905565b6000612182611f81565b9050306001600160a01b038216036121a5576121a085858585612956565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906121f0908890889088908890600401613e75565b600060405180830381600087803b15801561220a57600080fd5b505af115801561221e573d6000803e3d6000fd5b505050505050505050565b60008061223585612991565b90969095509350505050565b60006060600080612251866129a6565b90925090506001600160a01b0382166122a2578561226e87612a4a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613b7e565b806122b1576122b18689612b78565b861561231d577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061230582612bc4565b905061231a826123158b84613c27565b612c3d565b50505b60006123298760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123615761235c88888488612cd9565b61236d565b61236d88888488612d51565b90999098509650505050505050565b805160208201fd5b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611c70565b600060086123f260026020613eb4565b6123fc9190613ec7565b9190911c919050565b6060816000036124245750604080516020810190915260008152611bb4565b600061243085856128af565b9050611a6a81600085612db2565b6000600860018061245160026020613eb4565b61245b9190613eb4565b6124659190613eb4565b61246f9190613ec7565b8260ff911c1692915050565b6000611bb461248a8484612dd5565b5490565b600083836040516020016124a3929190613ede565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561259557602083106125385760208304840193506020838161253457612534613f1a565b0692505b821561259557602083900360008184101561255b5750600019600884021c612565565b50600019600882021c5b8554600886021b818451168219821617845250818411612586575050611b3d565b50600194909401939182900391015b5b602082106125b75783548152600190930192601f1990910190602001612596565b8115611b3d576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761260160ff601b83900360080287901c1683613c27565b91506001016125df565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361269557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161268893929190613f30565b60405180910390a2611b3d565b60006126a185856128af565b905060006126ae86612e2b565b905060005b81518110156127835760008282815181106126d0576126d0613c99565b602002602001015190506126fc6004826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561277a576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612747908b908b908b908b90600401613f63565b600060405180830381600087803b15801561276157600080fd5b505af1158015612775573d6000803e3d6000fd5b505050505b506001016126b3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516127b893929190613f30565b60405180910390a26127d3828565ffffffffffff1685612ed2565b60005b81518110156128a65760008282815181106127f3576127f3613c99565b6020026020010151905061281f6008826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561289d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061286a908b908b908b908b90600401613f63565b600060405180830381600087803b15801561288457600080fd5b505af1158015612898573d6000803e3d6000fd5b505050505b506001016127d6565b50505050505050565b600082826040516020016128c4929190613ede565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60006020821061292b5760208204840193506020828161292757612927613f1a565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612962858561247b565b9050600061297f828560ff166028026038011c64ffffffffff1690565b905061164d8686866000858888612ee8565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106129e0576129e0613c99565b602090810291909101015260008080612a397f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611fc0565b925092509250611e8f838383613322565b606081601081901b6000612a5d8361332e565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ab857612ab37fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613345565b612aef565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612b1657612b1183613345565b612b4d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612b5f93929190613f9c565b6040516020818303038152906040529350505050919050565b612b8282826133cb565b610afb57612b8f82612a4a565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e992919061402a565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612bfd57612bfd613c99565b60209081029190910101526000610fa07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b61214b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612c7357612c73613c99565b602002602001018181525050610e7f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612cbc91815260200190565b60408051601f19818403018152919052630100080160dd1b612136565b60006060836001600160a01b03166000612cf4858989613429565b604051612d019190614055565b60006040518083038185875af1925050503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b606091505b509097909650945050505050565b60006060836001600160a01b0316612d6a848888613429565b604051612d779190614055565b600060405180830381855af49150503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b60405160208101601f19603f84840101166040528282526106b98585858461250e565b60008282604051602001612dea929190613ede565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612e6557612e65613c99565b60209081029190910101526000612e9d7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613458565b9050610fa0612eaf8260008451613492565b613520565b60008160ff1682612ec58560581c90565b1660ff1614905092915050565b610e7f83838351612ee38560200190565b613531565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612fa8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612f6691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614071565b6000612fc3828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612fdc9190613eb4565b612fe69190613c27565b9050808214158015613008575081612ffe86886140b2565b64ffffffffff1614155b15613058576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff1611156130a9576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b60006130b68489846135f0565b905060006130c38b612e2b565b905060005b815181101561318e5760008282815181106130e5576130e5613c99565b602002602001015190506131116010826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561318557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161315297969594939291906140d7565b600060405180830381600087803b15801561316c57600080fd5b505af1158015613180573d6000803e3d6000fd5b505050505b506001016130c8565b5064ffffffffff881660005b8a60ff168160ff1610156131cd576131c1878260ff166028026038011c64ffffffffff1690565b9091019060010161319a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161320896959493929190614135565b60405180910390a2508284146132295760006132248c8c612dd5565b839055505b60006132368c8c8c61248e565b905061324a818a64ffffffffff1689612ed2565b5060005b815181101561331457600082828151811061326b5761326b613c99565b602002602001015190506132976020826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561330b57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016132d897969594939291906140d7565b600060405180830381600087803b1580156132f257600080fd5b505af1158015613306573d6000803e3d6000fd5b505050505b5060010161324e565b505050505050505050505050565b600080612235856136be565b600061333c60706010613c27565b9190911b919050565b606060005b601081101561339b576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561339b5760010161334a565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fa0565b60006134197f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836136da565b80611bb45750611bb483836136da565b606083838360405160200161344093929190614191565b60405160208183030381529060405290509392505050565b6060610fa061346885858561248e565b600061348d85613478898961247b565b9060ff166028026038011c64ffffffffff1690565b612db2565b6000818311806134a25750835182115b156134df578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906141d0565b602084016134ed8482613c27565b905060006134fb8585613eb4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bb483601560006137a3565b82156135ab576020831061355b5760208304840193506020838161355757613557613f1a565b0692505b82156135ab5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161359c575050611b3d565b50600194909401939182900391015b5b602082106135cd5780518455600190930192601f19909101906020016135ac565b8115611b3d576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff821115613634576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613666578085038201915061366e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c61299f565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061371357613713613c99565b602002602001018181525050826001600160a01b031660001b8160018151811061373f5761373f613c99565b602090810291909101015260006137977f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061214b565b9050611a6a8160f81c90565b606060006137b18560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816137d7576137d7613f1a565b04905060405193506020840160208202810160405281855260005b82811015613812578451871c8252938701936020909101906001016137f2565b50505050509392505050565b60405180610100016040528060008152602001600081526020016000600281111561384b5761384b6138cf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561388657600080fd5b5035919050565b60006020828403121561389f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb457600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c2e57634e487b7160e01b600052602160045260246000fd5b81518152602080830151908201526040820151610100820190613925816138e5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c2e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156139b8576139b8613979565b604052919050565b600067ffffffffffffffff8211156139da576139da613979565b50601f01601f191660200190565b600082601f8301126139f957600080fd5b8135613a0c613a07826139c0565b61398f565b818152846020838601011115613a2157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613a5357600080fd5b8335613a5e81613964565b925060208401359150604084013567ffffffffffffffff811115613a8157600080fd5b613a8d868287016139e8565b9150509250925092565b60208101613aa4836138e5565b91905290565b600080600060608486031215613abf57600080fd5b8335925060208401359150604084013560038110613adc57600080fd5b809150509250925092565b60008060408385031215613afa57600080fd5b82359150602083013567ffffffffffffffff811115613b1857600080fd5b613b24858286016139e8565b9150509250929050565b60005b83811015613b49578181015183820152602001613b31565b50506000910152565b60008151808452613b6a816020860160208601613b2e565b601f01601f19169290920160200192915050565b828152604060208201526000610fa06040830184613b52565b600082601f830112613ba857600080fd5b8151613bb6613a07826139c0565b818152846020838601011115613bcb57600080fd5b610fa0826020830160208701613b2e565b600060208284031215613bee57600080fd5b815167ffffffffffffffff811115613c0557600080fd5b610fa084828501613b97565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c11565b60006000198203613c4d57613c4d613c11565b5060010190565b600060208284031215613c6657600080fd5b8151611bb481613964565b838152613c7d836138e5565b826020820152606060408201526000611a6a6060830184613b52565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf75780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613d3057815187529582019590820190600101613d14565b509495945050505050565b838152606060208201526000613d546060830185613cff565b9050826040830152949350505050565b600080600060608486031215613d7957600080fd5b835167ffffffffffffffff80821115613d9157600080fd5b613d9d87838801613b97565b9450602086015193506040860151915080821115613dba57600080fd5b50613a8d86828701613b97565b85815260a060208201526000613de060a0830187613cff565b60ff861660408401528281036060840152613dfb8186613b52565b9150508260808301529695505050505050565b848152608060208201526000613e276080830186613cff565b60ff949094166040830152506060015292915050565b600060208284031215613e4f57600080fd5b5051919050565b600060ff821660ff8103613e6c57613e6c613c11565b60010192915050565b848152608060208201526000613e8e6080830186613cff565b60ff851660408401528281036060840152613ea98185613b52565b979650505050505050565b8181038181111561043957610439613c11565b808202811582820484141761043957610439613c11565b8281526000602080830184516020860160005b82811015613f0d57815184529284019290840190600101613ef1565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613f436060830186613cff565b65ffffffffffff851660208401528281036040840152610cf98185613b52565b848152608060208201526000613f7c6080830186613cff565b65ffffffffffff851660408401528281036060840152613ea98185613b52565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451613ffd816003860160208901613b2e565b80840190508160038201528451915061401d826004830160208801613b2e565b0160040195945050505050565b60408152600061403d6040830185613b52565b90506001600160a01b03831660208301529392505050565b60008251614067818460208701613b2e565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611a6a6060830184613b52565b64ffffffffff8181168382160190808211156140d0576140d0613c11565b5092915050565b87815260e0602082015260006140f060e0830189613cff565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141278185613b52565b9a9950505050505050505050565b60c08152600061414860c0830189613cff565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526141848185613b52565b9998505050505050505050565b600084516141a3818460208901613b2e565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006141e36060830186613b52565b6020830194909452506040015291905056fea2646970667358221220742a2fd45744c41e7d65d12942f110c7afad793e829dbf40f82832658ab5f6a064736f6c63430008180033","sourceMap":"1738:5941:211:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc5780633d0854ae116100e15780633d0854ae1461023857806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd578063238015701461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613874565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b61018636600461388d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613874565b61043f565b6040516101629190613903565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613a3e565b61045f565b604051908152602001610162565b34801561021757600080fd5b5061022b610226366004613874565b6106c1565b6040516101629190613a97565b34801561024457600080fd5b506101fd610253366004613874565b6106cc565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613874565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613874565b610755565b6102c36102be366004613aaa565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613874565b6109f9565b3480156102f157600080fd5b506102c3610300366004613ae7565b610a8e565b34801561031157600080fd5b506102c3610320366004613874565b610aff565b34801561033157600080fd5b5061014e610340366004613874565b610c31565b34801561035157600080fd5b5061014e610c3c565b34801561036657600080fd5b506101fd610375366004613874565b610c46565b34801561038657600080fd5b506101fd610395366004613874565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b61044761381e565b61043982610c51565b600061045a610d03565b905090565b60008061046a610d35565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c3c565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d68565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613b7e565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613bdc565b5061062e816109f9565b915061063a8286610db5565b6106448282610e84565b61064d84610f03565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fa8565b6106af8285611061565b6106b981846110e0565b509392505050565b600061043982611113565b60006106d860136111bd565b82106106e657506014919050565b60005b601481101561074457826106fc826111bd565b1115801561071b575082610719610714836001613c27565b6111bd565b115b156107325761072b816001613c27565b9150610744565b8061073c81613c3a565b9150506106e9565b50919050565b600061043982611239565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112cb565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613c54565b60015b15610862576107f06112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613c54565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112d5565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611367565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e8383611423565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613c71565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a40000000000000000000000000000000000000000000000000000000017905261150c565b5050505050565b600080610a046112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613c54565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611367565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110e0565b5050565b610b0881611367565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112d5565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bbc81674563918244f400006115ba565b610bc4610c3c565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bf191815260200190565b600060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b50505050610c2e816001611655565b50565b6000610439826116d9565b600061045a611776565b600061043982611780565b610c5961381e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c8f57610c8f613c99565b602090810291909101015260008080610ce87f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611812565b925092509250610cf98383836118e2565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d325750335b90565b600080610d4061195a565b90506000610d4f8260006119c2565b610d5a906001613c27565b905061043982600083611a73565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610deb57610deb613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e4a919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611bbb565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610eba57610eba613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e4a91815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f3c57610f3c613c99565b60209081029190910101526000610f947f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611c70565b9050610fa08160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fde57610fde613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161102c91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611bbb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061109757611097613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e4a91815260200190565b610afb61110c7f4368617261637465727300000000000000000000000000000000000000000000611d2d565b8383611d7a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061114c5761114c613c99565b602090810291909101015260006111a57f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611c70565b905060f881901c6002811115610fa057610fa06138cf565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111f9576111f9613c99565b60209081029190910101526000610fa07f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611c70565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127257611272613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611c70565b600061045a61195a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061130e5761130e613c99565b60209081029190910101526000610f947f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611c70565b60006113716112cb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190613c54565b6001600160a01b0316611413610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061145957611459613c99565b6020908102919091010152610e7f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561149c5761149c6138cf565b6040516020016114d7919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611bbb565b606060008061152261151d85613caf565b611dcc565b91509150816000801b03611588576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fa08285611e9c565b6115c2611f77565b6001600160a01b03166340c10f196115d984610c31565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561163957600080fd5b505af115801561164d573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061168b5761168b613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e4a91151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061171257611712613c99565b6020908102919091010152600061176b7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611c70565b60601c949350505050565b600061045a611f81565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117b9576117b9613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611c70565b6060600060606000611822611f81565b9050306001600160a01b0382160361184b5761183f878787611fc0565b935093509350506118d9565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611894908a908a908a90600401613d3b565b600060405180830381865afa1580156118b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261183f9190810190613d64565b93509350939050565b6118ea61381e565b6118f3846120c8565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611931576119316138cf565b6002811115611942576119426138cf565b90529790975250505093909252509195945050505050565b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611c70565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a0757611a07613c99565b6020026020010181815250508260001b81600181518110611a2a57611a2a613c99565b60209081029190910101526000611a6a7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611c70565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611ab457611ab4613c99565b6020026020010181815250508260001b81600181518110611ad757611ad7613c99565b602002602001018181525050611b3d7f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611b2091815260200190565b60408051601f19818403018152919052630100080160dd1b611bbb565b50505050565b6000611b5160706010613c27565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611bc5611f81565b9050306001600160a01b03821603611be957611be48686868686612136565b61164d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611c369089908990899089908990600401613dc7565b600060405180830381600087803b158015611c5057600080fd5b505af1158015611c64573d6000803e3d6000fd5b50505050505050505050565b600080611c7b611f81565b9050306001600160a01b03821603611ca157611c998686868661214b565b915050610fa0565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611cec908990899089908990600401613e0e565b602060405180830381865afa158015611d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c999190613e3d565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611db357611db3613c99565b602002602001018181525050611b3d8482600085612178565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611e2557611e25613c99565b602090810291909101015260008080611e7e7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611812565b925092509250611e8f838383612229565b9550955050505050915091565b60606000611ea8611776565b90506001600160a01b0381163003611ee9576000611ed0611ec7610d03565b60008787612241565b9350905080611ee257611ee28361237c565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611f309087908790600401613b7e565b6000604051808303816000875af1158015611f4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa09190810190613bdc565b600061045a612384565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611fbb573391505090565b919050565b6060600060606000611fd1856123e2565b9050611fde878783612405565b93506000611feb8661243e565b905080156120bd57611ffd888861247b565b935066ffffffffffffff841667ffffffffffffffff81111561202157612021613979565b6040519080825280601f01601f19166020018201604052801561204b576020820181803683370190505b5092506020830160005b828160ff1610156120ba57600061206d8b8b8461248e565b9050600061208a888460ff166028026038011c64ffffffffff1690565b9050612099826000838761250e565b6120a38185613c27565b9350505080806120b290613e56565b915050612055565b50505b505093509350939050565b6000806000806000806000806120e2896000016020015190565b60408a015160608b0151919950975060f81c6002811115612105576121056138cf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f2858561214584876125da565b8561260b565b6000611a6a61215a86866128af565b60ff858116601b0360080285901c1661217385876125da565b612905565b6000612182611f81565b9050306001600160a01b038216036121a5576121a085858585612956565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906121f0908890889088908890600401613e75565b600060405180830381600087803b15801561220a57600080fd5b505af115801561221e573d6000803e3d6000fd5b505050505050505050565b60008061223585612991565b90969095509350505050565b60006060600080612251866129a6565b90925090506001600160a01b0382166122a2578561226e87612a4a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613b7e565b806122b1576122b18689612b78565b861561231d577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061230582612bc4565b905061231a826123158b84613c27565b612c3d565b50505b60006123298760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123615761235c88888488612cd9565b61236d565b61236d88888488612d51565b90999098509650505050505050565b805160208201fd5b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611c70565b600060086123f260026020613eb4565b6123fc9190613ec7565b9190911c919050565b6060816000036124245750604080516020810190915260008152611bb4565b600061243085856128af565b9050611a6a81600085612db2565b6000600860018061245160026020613eb4565b61245b9190613eb4565b6124659190613eb4565b61246f9190613ec7565b8260ff911c1692915050565b6000611bb461248a8484612dd5565b5490565b600083836040516020016124a3929190613ede565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561259557602083106125385760208304840193506020838161253457612534613f1a565b0692505b821561259557602083900360008184101561255b5750600019600884021c612565565b50600019600882021c5b8554600886021b818451168219821617845250818411612586575050611b3d565b50600194909401939182900391015b5b602082106125b75783548152600190930192601f1990910190602001612596565b8115611b3d576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761260160ff601b83900360080287901c1683613c27565b91506001016125df565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361269557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161268893929190613f30565b60405180910390a2611b3d565b60006126a185856128af565b905060006126ae86612e2b565b905060005b81518110156127835760008282815181106126d0576126d0613c99565b602002602001015190506126fc6004826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561277a576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612747908b908b908b908b90600401613f63565b600060405180830381600087803b15801561276157600080fd5b505af1158015612775573d6000803e3d6000fd5b505050505b506001016126b3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516127b893929190613f30565b60405180910390a26127d3828565ffffffffffff1685612ed2565b60005b81518110156128a65760008282815181106127f3576127f3613c99565b6020026020010151905061281f6008826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561289d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061286a908b908b908b908b90600401613f63565b600060405180830381600087803b15801561288457600080fd5b505af1158015612898573d6000803e3d6000fd5b505050505b506001016127d6565b50505050505050565b600082826040516020016128c4929190613ede565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60006020821061292b5760208204840193506020828161292757612927613f1a565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612962858561247b565b9050600061297f828560ff166028026038011c64ffffffffff1690565b905061164d8686866000858888612ee8565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106129e0576129e0613c99565b602090810291909101015260008080612a397f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611fc0565b925092509250611e8f838383613322565b606081601081901b6000612a5d8361332e565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ab857612ab37fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613345565b612aef565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612b1657612b1183613345565b612b4d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612b5f93929190613f9c565b6040516020818303038152906040529350505050919050565b612b8282826133cb565b610afb57612b8f82612a4a565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e992919061402a565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612bfd57612bfd613c99565b60209081029190910101526000610fa07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b61214b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612c7357612c73613c99565b602002602001018181525050610e7f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612cbc91815260200190565b60408051601f19818403018152919052630100080160dd1b612136565b60006060836001600160a01b03166000612cf4858989613429565b604051612d019190614055565b60006040518083038185875af1925050503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b606091505b509097909650945050505050565b60006060836001600160a01b0316612d6a848888613429565b604051612d779190614055565b600060405180830381855af49150503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b60405160208101601f19603f84840101166040528282526106b98585858461250e565b60008282604051602001612dea929190613ede565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612e6557612e65613c99565b60209081029190910101526000612e9d7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613458565b9050610fa0612eaf8260008451613492565b613520565b60008160ff1682612ec58560581c90565b1660ff1614905092915050565b610e7f83838351612ee38560200190565b613531565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612fa8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612f6691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614071565b6000612fc3828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612fdc9190613eb4565b612fe69190613c27565b9050808214158015613008575081612ffe86886140b2565b64ffffffffff1614155b15613058576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff1611156130a9576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b60006130b68489846135f0565b905060006130c38b612e2b565b905060005b815181101561318e5760008282815181106130e5576130e5613c99565b602002602001015190506131116010826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561318557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161315297969594939291906140d7565b600060405180830381600087803b15801561316c57600080fd5b505af1158015613180573d6000803e3d6000fd5b505050505b506001016130c8565b5064ffffffffff881660005b8a60ff168160ff1610156131cd576131c1878260ff166028026038011c64ffffffffff1690565b9091019060010161319a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161320896959493929190614135565b60405180910390a2508284146132295760006132248c8c612dd5565b839055505b60006132368c8c8c61248e565b905061324a818a64ffffffffff1689612ed2565b5060005b815181101561331457600082828151811061326b5761326b613c99565b602002602001015190506132976020826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561330b57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016132d897969594939291906140d7565b600060405180830381600087803b1580156132f257600080fd5b505af1158015613306573d6000803e3d6000fd5b505050505b5060010161324e565b505050505050505050505050565b600080612235856136be565b600061333c60706010613c27565b9190911b919050565b606060005b601081101561339b576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561339b5760010161334a565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fa0565b60006134197f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836136da565b80611bb45750611bb483836136da565b606083838360405160200161344093929190614191565b60405160208183030381529060405290509392505050565b6060610fa061346885858561248e565b600061348d85613478898961247b565b9060ff166028026038011c64ffffffffff1690565b612db2565b6000818311806134a25750835182115b156134df578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906141d0565b602084016134ed8482613c27565b905060006134fb8585613eb4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bb483601560006137a3565b82156135ab576020831061355b5760208304840193506020838161355757613557613f1a565b0692505b82156135ab5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161359c575050611b3d565b50600194909401939182900391015b5b602082106135cd5780518455600190930192601f19909101906020016135ac565b8115611b3d576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff821115613634576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613666578085038201915061366e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c61299f565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061371357613713613c99565b602002602001018181525050826001600160a01b031660001b8160018151811061373f5761373f613c99565b602090810291909101015260006137977f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061214b565b9050611a6a8160f81c90565b606060006137b18560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816137d7576137d7613f1a565b04905060405193506020840160208202810160405281855260005b82811015613812578451871c8252938701936020909101906001016137f2565b50505050509392505050565b60405180610100016040528060008152602001600081526020016000600281111561384b5761384b6138cf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561388657600080fd5b5035919050565b60006020828403121561389f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb457600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c2e57634e487b7160e01b600052602160045260246000fd5b81518152602080830151908201526040820151610100820190613925816138e5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c2e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156139b8576139b8613979565b604052919050565b600067ffffffffffffffff8211156139da576139da613979565b50601f01601f191660200190565b600082601f8301126139f957600080fd5b8135613a0c613a07826139c0565b61398f565b818152846020838601011115613a2157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613a5357600080fd5b8335613a5e81613964565b925060208401359150604084013567ffffffffffffffff811115613a8157600080fd5b613a8d868287016139e8565b9150509250925092565b60208101613aa4836138e5565b91905290565b600080600060608486031215613abf57600080fd5b8335925060208401359150604084013560038110613adc57600080fd5b809150509250925092565b60008060408385031215613afa57600080fd5b82359150602083013567ffffffffffffffff811115613b1857600080fd5b613b24858286016139e8565b9150509250929050565b60005b83811015613b49578181015183820152602001613b31565b50506000910152565b60008151808452613b6a816020860160208601613b2e565b601f01601f19169290920160200192915050565b828152604060208201526000610fa06040830184613b52565b600082601f830112613ba857600080fd5b8151613bb6613a07826139c0565b818152846020838601011115613bcb57600080fd5b610fa0826020830160208701613b2e565b600060208284031215613bee57600080fd5b815167ffffffffffffffff811115613c0557600080fd5b610fa084828501613b97565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c11565b60006000198203613c4d57613c4d613c11565b5060010190565b600060208284031215613c6657600080fd5b8151611bb481613964565b838152613c7d836138e5565b826020820152606060408201526000611a6a6060830184613b52565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf75780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613d3057815187529582019590820190600101613d14565b509495945050505050565b838152606060208201526000613d546060830185613cff565b9050826040830152949350505050565b600080600060608486031215613d7957600080fd5b835167ffffffffffffffff80821115613d9157600080fd5b613d9d87838801613b97565b9450602086015193506040860151915080821115613dba57600080fd5b50613a8d86828701613b97565b85815260a060208201526000613de060a0830187613cff565b60ff861660408401528281036060840152613dfb8186613b52565b9150508260808301529695505050505050565b848152608060208201526000613e276080830186613cff565b60ff949094166040830152506060015292915050565b600060208284031215613e4f57600080fd5b5051919050565b600060ff821660ff8103613e6c57613e6c613c11565b60010192915050565b848152608060208201526000613e8e6080830186613cff565b60ff851660408401528281036060840152613ea98185613b52565b979650505050505050565b8181038181111561043957610439613c11565b808202811582820484141761043957610439613c11565b8281526000602080830184516020860160005b82811015613f0d57815184529284019290840190600101613ef1565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613f436060830186613cff565b65ffffffffffff851660208401528281036040840152610cf98185613b52565b848152608060208201526000613f7c6080830186613cff565b65ffffffffffff851660408401528281036060840152613ea98185613b52565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451613ffd816003860160208901613b2e565b80840190508160038201528451915061401d826004830160208801613b2e565b0160040195945050505050565b60408152600061403d6040830185613b52565b90506001600160a01b03831660208301529392505050565b60008251614067818460208701613b2e565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611a6a6060830184613b52565b64ffffffffff8181168382160190808211156140d0576140d0613c11565b5092915050565b87815260e0602082015260006140f060e0830189613cff565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141278185613b52565b9a9950505050505050505050565b60c08152600061414860c0830189613cff565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526141848185613b52565b9998505050505050505050565b600084516141a3818460208901613b2e565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006141e36060830186613b52565b6020830194909452506040015291905056fea2646970667358221220742a2fd45744c41e7d65d12942f110c7afad793e829dbf40f82832658ab5f6a064736f6c63430008180033","sourceMap":"1738:5941:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:144;;;;;;;;;;-1:-1:-1;2899:144:211;;;;;:::i;:::-;3032:2;3008:26;;2899:144;;;;-1:-1:-1;;;;;363:55:228;;;345:74;;333:2;318:18;2899:144:211;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:228;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:228;7553:124:211;;;;;;;;;;-1:-1:-1;7553:124:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;3819:837:211:-;;;;;;;;;;-1:-1:-1;3819:837:211;;;;;:::i;:::-;;:::i;:::-;;;4284:25:228;;;4272:2;4257:18;3819:837:211;4138:177:228;1915:129:211;;;;;;;;;;-1:-1:-1;1915:129:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5601:483::-;;;;;;;;;;-1:-1:-1;5601:483:211;;;;;:::i;:::-;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1779:130:211;;;;;;;;;;-1:-1:-1;1779:130:211;;;;;:::i;:::-;;:::i;3049:413::-;;;;;;;;;;-1:-1:-1;3049:413:211;;;;;:::i;:::-;;:::i;4662:545::-;;;;;;:::i;:::-;;:::i;:::-;;2386:266;;;;;;;;;;-1:-1:-1;2386:266:211;;;;;:::i;:::-;;:::i;6090:219::-;;;;;;;;;;-1:-1:-1;6090:219:211;;;;;:::i;:::-;;:::i;5213:382::-;;;;;;;;;;-1:-1:-1;5213:382:211;;;;;:::i;:::-;;:::i;7155:125::-;;;;;;;;;;-1:-1:-1;7155:125:211;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7417:130:211:-;;;;;;;;;;-1:-1:-1;7417:130:211;;;;;:::i;:::-;;:::i;2658:143::-;;;;;;;;;;-1:-1:-1;2658:143:211;;;;;:::i;:::-;2756:37;;;2658:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7553:124:211:-;7613:16;;:::i;:::-;7648:22;7658:11;7648:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3819:837:211:-;3929:19;3964:24;3991:28;:26;:28::i;:::-;3964:55;-1:-1:-1;4056:16:211;4037:35;;4029:83;;;;-1:-1:-1;;;4029:83:211;;5935:2:228;4029:83:211;;;5917:21:228;5974:2;5954:18;;;5947:30;6013:34;5993:18;;;5986:62;6084:5;6064:18;;;6057:33;6107:19;;4029:83:211;;;;;;;;;4129:8;:6;:8::i;:::-;-1:-1:-1;;;;;4122:21:211;;4157:37;4173:20;4157:15;:37::i;:::-;4196:65;;-1:-1:-1;;;;;6329:55:228;;4196:65:211;;;6311:74:228;6401:18;;;6394:34;;;6284:18;;4196:65:211;;;-1:-1:-1;;4196:65:211;;;;;;;;;;;;;;;;;;;;4122:149;;4196:65;4122:149;;;;;;;;;4196:65;4122:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4122:149:211;;;;;;;;;;;;:::i;:::-;;4295:35;4313:16;4295:17;:35::i;:::-;4281:49;;4340:41;4360:11;4373:7;4340:19;:41::i;:::-;4391:52;4413:11;4426:16;4391:21;:52::i;:::-;4462:25;4482:4;4462:19;:25::i;:::-;4461:26;4453:58;;;;-1:-1:-1;;;4453:58:211;;8342:2:228;4453:58:211;;;8324:21:228;8381:2;8361:18;;;8354:30;8420:21;8400:18;;;8393:49;8459:18;;4453:58:211;8140:343:228;4453:58:211;4521:31;4541:4;4547;4521:19;:31::i;:::-;4562:37;4581:11;4594:4;4562:18;:37::i;:::-;4609:40;4622:16;4640:8;4609:12;:40::i;:::-;3954:702;3819:837;;;;;:::o;1915:129::-;1975:14;2010:27;2025:11;2010:14;:27::i;5601:483::-;5667:20;5717:14;5728:2;5717:10;:14::i;:::-;5703:10;:28;5699:379;;-1:-1:-1;5762:2:211;5601:483;;;:::o;5699:379::-;5800:9;5795:273;5815:2;5811:1;:6;5795:273;;;5859:10;5842:13;5853:1;5842:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;5893:10:211;5873:17;5884:5;:1;5888;5884:5;:::i;:::-;5873:10;:17::i;:::-;:30;5842:61;5838:155;;;5942:5;:1;5946;5942:5;:::i;:::-;5927:20;;5969:5;;5838:155;6032:3;;;;:::i;:::-;;;;5795:273;;;;5601:483;;;:::o;1779:130::-;1838:13;1871:31;1890:11;1871:18;:31::i;3049:413::-;3119:4;3135:20;3158:28;3174:11;3032:2;3008:26;;2899:144;3158:28;3135:51;-1:-1:-1;2756:37:211;;;3196:15;3285:17;:15;:17::i;:::-;-1:-1:-1;;;;;3285:25:211;;3311:7;3285:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3285:34:211;;;;;;;;;;;;;;;;;;;-1:-1:-1;3285:34:211;;;;;;;;-1:-1:-1;;3285:34:211;;;;;;;;;;;;:::i;:::-;;;3281:135;;;3362:17;:15;:17::i;:::-;-1:-1:-1;;;;;3362:25:211;;3388:7;3362:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3362:34:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:44;;3320:87;3281:135;3443:12;-1:-1:-1;;;;;3432:23:211;:7;-1:-1:-1;;;;;3432:23:211;;3425:30;;;;;3049:413;;;:::o;4662:545::-;4777:33;4798:11;4777:20;:33::i;:::-;4776:34;4768:90;;;;-1:-1:-1;;;4768:90:211;;9465:2:228;4768:90:211;;;9447:21:228;9504:2;9484:18;;;9477:30;9543:34;9523:18;;;9516:62;9614:13;9594:18;;;9587:41;9645:19;;4768:90:211;9263:407:228;4768:90:211;4876:21;4885:11;4876:8;:21::i;:::-;4868:53;;;;-1:-1:-1;;;4868:53:211;;9877:2:228;4868:53:211;;;9859:21:228;9916:2;9896:18;;;9889:30;9955:21;9935:18;;;9928:49;9994:18;;4868:53:211;9675:343:228;4868:53:211;4931:26;4999:34;5014:11;5027:5;4999:14;:34::i;:::-;5090:110;5143:16;5161:11;5185;5174:23;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5174:23:211;;;;-1:-1:-1;;5174:23:211;;;;;;;;;;5108:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5108:91:211;;;;;;;;;;;;;;;;;;;;5090:17;:110::i;:::-;;4758:449;4662:545;;;:::o;2386:266::-;2460:19;2491:20;2514:17;:15;:17::i;:::-;-1:-1:-1;;;;;2514:25:211;;2540:16;2514:43;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;2514:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2623:2;2589:36;-1:-1:-1;;2589:36:211;:55;;;;;;-1:-1:-1;;2386:266:211:o;6090:219::-;6184:21;6193:11;6184:8;:21::i;:::-;6176:60;;;;-1:-1:-1;;;6176:60:211;;10654:2:228;6176:60:211;;;10636:21:228;10693:2;10673:18;;;10666:30;10732:28;10712:18;;;10705:56;10778:18;;6176:60:211;10452:350:228;6176:60:211;6246:56;2756:37;;;6293:8;6246:12;:56::i;:::-;6090:219;;:::o;5213:382::-;5278:21;5287:11;5278:8;:21::i;:::-;5270:52;;;;-1:-1:-1;;;5270:52:211;;11009:2:228;5270:52:211;;;10991:21:228;11048:2;11028:18;;;11021:30;11087:20;11067:18;;;11060:48;11125:18;;5270:52:211;10807:342:228;5270:52:211;5341:33;5362:11;5341:20;:33::i;:::-;5340:34;5332:72;;;;-1:-1:-1;;;5332:72:211;;11356:2:228;5332:72:211;;;11338:21:228;11395:2;11375:18;;;11368:30;11434:27;11414:18;;;11407:55;11479:18;;5332:72:211;11154:349:228;5332:72:211;5415:31;5425:11;5438:7;5415:9;:31::i;:::-;5494:8;:6;:8::i;:::-;-1:-1:-1;;;;;5487:38:211;;5526:11;5487:51;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5487:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5549:39;5570:11;5583:4;5549:20;:39::i;:::-;5213:382;:::o;7155:125::-;7215:7;7241:32;7261:11;7241:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7417:130:211:-;7482:7;7508:32;7528:11;7508:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;6489:347:211:-;6545:7;6564:25;6592:42;:40;:42::i;:::-;6564:70;;6644:24;6671:50;6699:17;6719:1;6671:19;:50::i;:::-;:54;;6724:1;6671:54;:::i;:::-;6644:81;;6735:61;6755:17;6774:1;6778:16;6735:19;:61::i;1094:186:219:-;1152:10;1177:100;1212:15;1240:9;1257:18;1177:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;11846:2:228;11842:15;;;;-1:-1:-1;;11838:88:228;11826:101;;11952:2;11943:12;;11697:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12304:14:228;12297:22;12292:3;12288:32;12276:45;;12346:1;12337:11;;12153:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;6315:168:211;6397:79;6418:38;6435:20;6418:16;:38::i;:::-;6458:7;6467:8;6397:20;:79::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2205:175:211:-;2255:30;2330:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;6982:167:211:-;7044:4;7083:17;:15;:17::i;:::-;:59;;;;;2756:37;;;7083:59;;;4284:25:228;-1:-1:-1;;;;;7083:25:211;;;;;;;4257:18:228;;7083:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7067:75:211;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7067:75:211;;;6982:167;-1:-1:-1;;6982:167:211:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;12691:3:228;12687:16;;;;12705:66;12683:89;12671:102;;12798:1;12789:11;;12546:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13367:98:228;13340:18;;3713:52:107;13223:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;7286:125:211:-;7361:7;:5;:7::i;:::-;-1:-1:-1;;;;;7361:12:211;;7374:21;7383:11;7374:8;:21::i;:::-;7361:43;;;;;;;;;;-1:-1:-1;;;;;6329:55:228;;;7361:43:211;;;6311:74:228;6401:18;;;6394:34;;;6284:18;;7361:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7286:125;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12304:14:228;12297:22;12292:3;12288:32;12276:45;;12346:1;12337:11;;12153:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;6842:134:211:-;6882:17;6931:37;:35;:37::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;4058:247:196;4159:16;;;4105:17;4159:16;;;;;;;;;4182:13;4198:64;1269:66;4130:45;4246:1;1398:66;4198:26;:64::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;22541:12:228;22580:15;;;45340:92:45;;;22562:34:228;22632:15;;;22612:18;;;22605:43;22684:15;;22664:18;;;22657:43;22504:18;;45340:92:45;22335:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;22884:25:228;;;22957:12;22945:25;;22925:18;;;22918:53;22857:18;;45581:74:45;22711:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;24822:79:228;;2092:30:124;;;24810:92:228;2092:30:124;;24918:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:228;;;4257:18;;7664:67:24;4138:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:228:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:228;;14:180;-1:-1:-1;14:180:228:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:228;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:228;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1419:777;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:228;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:228;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:228;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:228:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:228;3037:15;-1:-1:-1;;3033:88:228;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:228:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:228;3925:18;;3912:32;;-1:-1:-1;3995:2:228;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4320:235::-;4466:2;4451:18;;4478:37;4508:6;4478:37;:::i;:::-;4524:25;;;4320:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:390::-;5416:6;5424;5477:2;5465:9;5456:7;5452:23;5448:32;5445:52;;;5493:1;5490;5483:12;5445:52;5529:9;5516:23;5506:33;;5590:2;5579:9;5575:18;5562:32;5617:18;5609:6;5606:30;5603:50;;;5649:1;5646;5639:12;5603:50;5672;5714:7;5705:6;5694:9;5690:22;5672:50;:::i;:::-;5662:60;;;5338:390;;;;;:::o;6439:250::-;6524:1;6534:113;6548:6;6545:1;6542:13;6534:113;;;6624:11;;;6618:18;6605:11;;;6598:39;6570:2;6563:10;6534:113;;;-1:-1:-1;;6681:1:228;6663:16;;6656:27;6439:250::o;6694:329::-;6735:3;6773:5;6767:12;6800:6;6795:3;6788:19;6816:76;6885:6;6878:4;6873:3;6869:14;6862:4;6855:5;6851:16;6816:76;:::i;:::-;6937:2;6925:15;-1:-1:-1;;6921:88:228;6912:98;;;;7012:4;6908:109;;6694:329;-1:-1:-1;;6694:329:228:o;7028:320::-;7235:6;7224:9;7217:25;7278:2;7273;7262:9;7258:18;7251:30;7198:4;7298:44;7338:2;7327:9;7323:18;7315:6;7298:44;:::i;7353:442::-;7406:5;7459:3;7452:4;7444:6;7440:17;7436:27;7426:55;;7477:1;7474;7467:12;7426:55;7506:6;7500:13;7537:49;7553:32;7582:2;7553:32;:::i;7537:49::-;7611:2;7602:7;7595:19;7657:3;7650:4;7645:2;7637:6;7633:15;7629:26;7626:35;7623:55;;;7674:1;7671;7664:12;7623:55;7687:77;7761:2;7754:4;7745:7;7741:18;7734:4;7726:6;7722:17;7687:77;:::i;7800:335::-;7879:6;7932:2;7920:9;7911:7;7907:23;7903:32;7900:52;;;7948:1;7945;7938:12;7900:52;7981:9;7975:16;8014:18;8006:6;8003:30;8000:50;;;8046:1;8043;8036:12;8000:50;8069:60;8121:7;8112:6;8101:9;8097:22;8069:60;:::i;8488:184::-;-1:-1:-1;;;8537:1:228;8530:88;8637:4;8634:1;8627:15;8661:4;8658:1;8651:15;8677:125;8742:9;;;8763:10;;;8760:36;;;8776:18;;:::i;8807:195::-;8846:3;-1:-1:-1;;8870:5:228;8867:77;8864:103;;8947:18;;:::i;:::-;-1:-1:-1;8994:1:228;8983:13;;8807:195::o;9007:251::-;9077:6;9130:2;9118:9;9109:7;9105:23;9101:32;9098:52;;;9146:1;9143;9136:12;9098:52;9178:9;9172:16;9197:31;9222:5;9197:31;:::i;10023:424::-;10245:6;10234:9;10227:25;10261:37;10291:6;10261:37;:::i;:::-;10334:6;10329:2;10318:9;10314:18;10307:34;10377:2;10372;10361:9;10357:18;10350:30;10208:4;10397:44;10437:2;10426:9;10422:18;10414:6;10397:44;:::i;11508:184::-;-1:-1:-1;;;11557:1:228;11550:88;11657:4;11654:1;11647:15;11681:4;11678:1;11671:15;12811:407;12894:5;12934;12928:12;12976:4;12969:5;12965:16;12959:23;13001:66;13093:2;13089;13085:11;13076:20;;13119:1;13111:6;13108:13;13105:107;;;13199:2;13193;13183:6;13180:1;13176:14;13173:1;13169:22;13165:31;13161:2;13157:40;13153:49;13144:58;;13105:107;;;;12811:407;;;:::o;13476:439::-;13529:3;13567:5;13561:12;13594:6;13589:3;13582:19;13620:4;13649;13644:3;13640:14;13633:21;;13688:4;13681:5;13677:16;13711:1;13721:169;13735:6;13732:1;13729:13;13721:169;;;13796:13;;13784:26;;13830:12;;;;13865:15;;;;13757:1;13750:9;13721:169;;;-1:-1:-1;13906:3:228;;13476:439;-1:-1:-1;;;;;13476:439:228:o;13920:468::-;14220:6;14209:9;14202:25;14263:2;14258;14247:9;14243:18;14236:30;14183:4;14283:56;14335:2;14324:9;14320:18;14312:6;14283:56;:::i;:::-;14275:64;;14375:6;14370:2;14359:9;14355:18;14348:34;13920:468;;;;;;:::o;14393:655::-;14535:6;14543;14551;14604:2;14592:9;14583:7;14579:23;14575:32;14572:52;;;14620:1;14617;14610:12;14572:52;14653:9;14647:16;14682:18;14723:2;14715:6;14712:14;14709:34;;;14739:1;14736;14729:12;14709:34;14762:60;14814:7;14805:6;14794:9;14790:22;14762:60;:::i;:::-;14752:70;;14862:2;14851:9;14847:18;14841:25;14831:35;;14912:2;14901:9;14897:18;14891:25;14875:41;;14941:2;14931:8;14928:16;14925:36;;;14957:1;14954;14947:12;14925:36;;14980:62;15034:7;15023:8;15012:9;15008:24;14980:62;:::i;15053:709::-;15423:6;15412:9;15405:25;15466:3;15461:2;15450:9;15446:18;15439:31;15386:4;15493:57;15545:3;15534:9;15530:19;15522:6;15493:57;:::i;:::-;15598:4;15590:6;15586:17;15581:2;15570:9;15566:18;15559:45;15652:9;15644:6;15640:22;15635:2;15624:9;15620:18;15613:50;15680:32;15705:6;15697;15680:32;:::i;:::-;15672:40;;;15749:6;15743:3;15732:9;15728:19;15721:35;15053:709;;;;;;;;:::o;15767:548::-;16091:6;16080:9;16073:25;16134:3;16129:2;16118:9;16114:18;16107:31;16054:4;16155:57;16207:3;16196:9;16192:19;16184:6;16155:57;:::i;:::-;16260:4;16248:17;;;;16243:2;16228:18;;16221:45;-1:-1:-1;16297:2:228;16282:18;16275:34;16147:65;15767:548;-1:-1:-1;;15767:548:228:o;16320:184::-;16390:6;16443:2;16431:9;16422:7;16418:23;16414:32;16411:52;;;16459:1;16456;16449:12;16411:52;-1:-1:-1;16482:16:228;;16320:184;-1:-1:-1;16320:184:228:o;16509:175::-;16546:3;16590:4;16583:5;16579:16;16619:4;16610:7;16607:17;16604:43;;16627:18;;:::i;:::-;16676:1;16663:15;;16509:175;-1:-1:-1;;16509:175:228:o;16689:604::-;16998:6;16987:9;16980:25;17041:3;17036:2;17025:9;17021:18;17014:31;16961:4;17068:57;17120:3;17109:9;17105:19;17097:6;17068:57;:::i;:::-;17173:4;17165:6;17161:17;17156:2;17145:9;17141:18;17134:45;17227:9;17219:6;17215:22;17210:2;17199:9;17195:18;17188:50;17255:32;17280:6;17272;17255:32;:::i;:::-;17247:40;16689:604;-1:-1:-1;;;;;;;16689:604:228:o;17625:128::-;17692:9;;;17713:11;;;17710:37;;;17727:18;;:::i;17758:168::-;17831:9;;;17862;;17879:15;;;17873:22;;17859:37;17849:71;;17900:18;;:::i;17931:640::-;18182:6;18177:3;18170:19;18152:3;18208:2;18241;18236:3;18232:12;18273:6;18267:13;18338:2;18330:6;18326:15;18359:1;18369:175;18383:6;18380:1;18377:13;18369:175;;;18446:13;;18432:28;;18482:14;;;;18519:15;;;;18405:1;18398:9;18369:175;;;-1:-1:-1;18560:5:228;;17931:640;-1:-1:-1;;;;;;;17931:640:228:o;18576:184::-;-1:-1:-1;;;18625:1:228;18618:88;18725:4;18722:1;18715:15;18749:4;18746:1;18739:15;18765:511;19016:2;19005:9;18998:21;18979:4;19042:56;19094:2;19083:9;19079:18;19071:6;19042:56;:::i;:::-;19146:14;19138:6;19134:27;19129:2;19118:9;19114:18;19107:55;19210:9;19202:6;19198:22;19193:2;19182:9;19178:18;19171:50;19238:32;19263:6;19255;19238:32;:::i;19281:616::-;19592:6;19581:9;19574:25;19635:3;19630:2;19619:9;19615:18;19608:31;19555:4;19662:57;19714:3;19703:9;19699:19;19691:6;19662:57;:::i;:::-;19767:14;19759:6;19755:27;19750:2;19739:9;19735:18;19728:55;19831:9;19823:6;19819:22;19814:2;19803:9;19799:18;19792:50;19859:32;19884:6;19876;19859:32;:::i;19902:925::-;20351:66;20343:6;20339:79;20334:3;20327:92;20309:3;20438;20470:2;20466:1;20461:3;20457:11;20450:23;20502:6;20496:13;20518:74;20585:6;20581:1;20576:3;20572:11;20565:4;20557:6;20553:17;20518:74;:::i;:::-;20620:6;20615:3;20611:16;20601:26;;20655:2;20651:1;20647:2;20643:10;20636:22;20689:6;20683:13;20667:29;;20705:75;20771:8;20767:1;20763:2;20759:10;20752:4;20744:6;20740:17;20705:75;:::i;:::-;20800:17;20819:1;20796:25;;19902:925;-1:-1:-1;;;;;19902:925:228:o;20832:339::-;21009:2;20998:9;20991:21;20972:4;21029:44;21069:2;21058:9;21054:18;21046:6;21029:44;:::i;:::-;21021:52;;-1:-1:-1;;;;;21113:6:228;21109:55;21104:2;21093:9;21089:18;21082:83;20832:339;;;;;:::o;21176:287::-;21305:3;21343:6;21337:13;21359:66;21418:6;21413:3;21406:4;21398:6;21394:17;21359:66;:::i;:::-;21441:16;;;;;21176:287;-1:-1:-1;;21176:287:228:o;21687:464::-;21934:66;21926:6;21922:79;21911:9;21904:98;22038:6;22033:2;22022:9;22018:18;22011:34;22081:2;22076;22065:9;22061:18;22054:30;21885:4;22101:44;22141:2;22130:9;22126:18;22118:6;22101:44;:::i;22156:174::-;22223:12;22255:10;;;22267;;;22251:27;;22290:11;;;22287:37;;;22304:18;;:::i;:::-;22287:37;22156:174;;;;:::o;22982:901::-;23407:6;23396:9;23389:25;23450:3;23445:2;23434:9;23430:18;23423:31;23370:4;23477:57;23529:3;23518:9;23514:19;23506:6;23477:57;:::i;:::-;23582:4;23570:17;;23565:2;23550:18;;23543:45;23607:12;23655:15;;;23650:2;23635:18;;23628:43;23708:15;;23702:3;23687:19;;23680:44;23755:3;23740:19;;23733:35;;;23805:22;;;23799:3;23784:19;;23777:51;23845:32;23809:6;23862;23845:32;:::i;:::-;23837:40;22982:901;-1:-1:-1;;;;;;;;;;22982:901:228:o;23888:788::-;24253:3;24242:9;24235:22;24216:4;24280:57;24332:3;24321:9;24317:19;24309:6;24280:57;:::i;:::-;24385:4;24377:6;24373:17;24368:2;24357:9;24353:18;24346:45;24439:14;24431:6;24427:27;24422:2;24411:9;24407:18;24400:55;24503:12;24495:6;24491:25;24486:2;24475:9;24471:18;24464:53;24554:6;24548:3;24537:9;24533:19;24526:35;24610:9;24602:6;24598:22;24592:3;24581:9;24577:19;24570:51;24638:32;24663:6;24655;24638:32;:::i;:::-;24630:40;23888:788;-1:-1:-1;;;;;;;;;23888:788:228:o;24941:530::-;25126:3;25164:6;25158:13;25180:66;25239:6;25234:3;25227:4;25219:6;25215:17;25180:66;:::i;:::-;25315:2;25311:15;;;;-1:-1:-1;;25307:88:228;25268:16;;;;25293:103;;;25423:2;25412:14;;25405:30;;;;25462:2;25451:14;;24941:530;-1:-1:-1;;24941:530:228:o;25476:359::-;25679:2;25668:9;25661:21;25642:4;25699:44;25739:2;25728:9;25724:18;25716:6;25699:44;:::i;:::-;25774:2;25759:18;;25752:34;;;;-1:-1:-1;25817:2:228;25802:18;25795:34;25691:52;25476:359;-1:-1:-1;25476:359:228:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentLevel(uint256)":"3d0854ae","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xb84abf73925cc09d3b4485612cdf6bdfb41f43e396a7cab318a092155e7c7d61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5675b9f3eac7f784fdc8dc86ab0525f4c7655fffea6bbe3058353ff6e1d9811f\",\"dweb:/ipfs/QmQHeYZixt3FtBNKrGU1xj3vxc5Cv1KeARxWX7XmNdC1Nh\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x9bfd55b66c63b1f0fee65eed47dc4f15e99488f7f4923f08221dee4dd50d3765\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://253edb2df8f17afc7e8a9822350d36b0acbfa0f21f6eadb89a5fa73ac331a93e\",\"dweb:/ipfs/QmP785ioQpxikiCQhgE6sf2k32EZ1anUYHu9ZCyGxiYKA7\"]},\"src/utils.sol\":{\"keccak256\":\"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c\",\"dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xb84abf73925cc09d3b4485612cdf6bdfb41f43e396a7cab318a092155e7c7d61","urls":["bzz-raw://5675b9f3eac7f784fdc8dc86ab0525f4c7655fffea6bbe3058353ff6e1d9811f","dweb:/ipfs/QmQHeYZixt3FtBNKrGU1xj3vxc5Cv1KeARxWX7XmNdC1Nh"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x9bfd55b66c63b1f0fee65eed47dc4f15e99488f7f4923f08221dee4dd50d3765","urls":["bzz-raw://253edb2df8f17afc7e8a9822350d36b0acbfa0f21f6eadb89a5fa73ac331a93e","dweb:/ipfs/QmP785ioQpxikiCQhgE6sf2k32EZ1anUYHu9ZCyGxiYKA7"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5","urls":["bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c","dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx"],"license":"MIT"}},"version":1},"id":211}
\ No newline at end of file
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index 206a0f110..462e30725 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -200,6 +200,11 @@
"type": "uint256",
"internalType": "uint256"
},
+ {
+ "name": "dropChance",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
{
"name": "stats",
"type": "bytes",
@@ -234,6 +239,11 @@
"type": "uint256[]",
"internalType": "uint256[]"
},
+ {
+ "name": "dropChances",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
{
"name": "stats",
"type": "bytes[]",
@@ -489,6 +499,11 @@
"type": "tuple",
"internalType": "struct ArmorStats",
"components": [
+ {
+ "name": "agiModifier",
+ "type": "int256",
+ "internalType": "int256"
+ },
{
"name": "armorModifier",
"type": "uint256",
@@ -500,27 +515,22 @@
"internalType": "uint8[]"
},
{
- "name": "minLevel",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "strModifier",
+ "name": "hitPointModifier",
"type": "int256",
"internalType": "int256"
},
{
- "name": "agiModifier",
+ "name": "intModifier",
"type": "int256",
"internalType": "int256"
},
{
- "name": "intModifier",
- "type": "int256",
- "internalType": "int256"
+ "name": "minLevel",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "hitPointModifier",
+ "name": "strModifier",
"type": "int256",
"internalType": "int256"
}
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index f6f47c3bd..fc3fe695a 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -200,6 +200,11 @@ declare const abi: [
"type": "uint256",
"internalType": "uint256"
},
+ {
+ "name": "dropChance",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
{
"name": "stats",
"type": "bytes",
@@ -234,6 +239,11 @@ declare const abi: [
"type": "uint256[]",
"internalType": "uint256[]"
},
+ {
+ "name": "dropChances",
+ "type": "uint256[]",
+ "internalType": "uint256[]"
+ },
{
"name": "stats",
"type": "bytes[]",
@@ -489,6 +499,11 @@ declare const abi: [
"type": "tuple",
"internalType": "struct ArmorStats",
"components": [
+ {
+ "name": "agiModifier",
+ "type": "int256",
+ "internalType": "int256"
+ },
{
"name": "armorModifier",
"type": "uint256",
@@ -500,27 +515,22 @@ declare const abi: [
"internalType": "uint8[]"
},
{
- "name": "minLevel",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "strModifier",
+ "name": "hitPointModifier",
"type": "int256",
"internalType": "int256"
},
{
- "name": "agiModifier",
+ "name": "intModifier",
"type": "int256",
"internalType": "int256"
},
{
- "name": "intModifier",
- "type": "int256",
- "internalType": "int256"
+ "name": "minLevel",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "hitPointModifier",
+ "name": "strModifier",
"type": "int256",
"internalType": "int256"
}
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 055e30d98..d79adc293 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"},{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"hitPointModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256),bytes32,bytes32,uint256,uint256)":"fa760cc5","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,bytes,string)":"f28c840e","UD__createItems(uint8[],uint256[],bytes[],string[])":"941acaab","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentItemsCounter()":"4652f280","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xccf04cacce39f86742d109d243c1b17b947650a17d482bfee4e682ce43f05881\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c910fa067203cb370c0eb5dce4ce1b3cfff166079963a4261a7db8a4db87fbb7\",\"dweb:/ipfs/QmNiknjWZFzp8t38dwhRfTrvJtoHHnrQzuGQjjSTdyZsxX\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1b5fdd11b046dba8091312776b0aaf2a015992a2c794a54696e7dda21ddfee62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de52255175f50d737bde1fc543c1f82524f4cd89fef1a29e3a26333e15be7c22\",\"dweb:/ipfs/QmQXWEbqp97QCjofXc42YDi35QG3wRsuctXXhhyzLmnSFo\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"},{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"int256","name":"hitPointModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xccf04cacce39f86742d109d243c1b17b947650a17d482bfee4e682ce43f05881","urls":["bzz-raw://c910fa067203cb370c0eb5dce4ce1b3cfff166079963a4261a7db8a4db87fbb7","dweb:/ipfs/QmNiknjWZFzp8t38dwhRfTrvJtoHHnrQzuGQjjSTdyZsxX"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1b5fdd11b046dba8091312776b0aaf2a015992a2c794a54696e7dda21ddfee62","urls":["bzz-raw://de52255175f50d737bde1fc543c1f82524f4cd89fef1a29e3a26333e15be7c22","dweb:/ipfs/QmQXWEbqp97QCjofXc42YDi35QG3wRsuctXXhhyzLmnSFo"],"license":"MIT"}},"version":1},"id":205}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256),bytes32,bytes32,uint256,uint256)":"fa760cc5","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentItemsCounter()":"4652f280","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"}},"version":1},"id":205}
\ No newline at end of file
diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json
index 0530b1c7d..9241dd2d7 100644
--- a/packages/contracts/out/MapSystem.sol/MapSystem.json
+++ b/packages/contracts/out/MapSystem.sol/MapSystem.json
@@ -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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220db304a2c15fe57a7b126a6dfefef8fe55bf176c940e755bff6b2c3300974b63c64736f6c63430008180033","sourceMap":"412:4148:214:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220db304a2c15fe57a7b126a6dfefef8fe55bf176c940e755bff6b2c3300974b63c64736f6c63430008180033","sourceMap":"412:4148:214:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:226;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:226;;;689:74;;677:2;662:18;1262:113:123;543:226:226;1755:239:214;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:226;;1401:2;1386:18;1616:110:123;1267:177:226;1580:169:214;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:214:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:214:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:214;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:214;;1279:70;;;;-1:-1:-1;;;1279:70:214;;2807:2:226;1279:70:214;;;2789:21:226;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:214;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:214;;3212:2:226;1360:67:214;;;3194:21:226;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:214;3010:349:226;1360:67:214;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:214;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:214;;605:69;;;;-1:-1:-1;;;605:69:214;;3566:2:226;605:69:214;;;3548:21:226;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:214;3364:399:226;605:69:214;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:214;;3970:2:226;685:62:214;;;3952:21:226;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:214;3768:345:226;685:62:214;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:214;;4320:2:226;885:37:214;;;4302:21:226;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:214;4118:339:226;885:37:214;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:214;;4664:2:226;932:38:214;;;4646:21:226;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:214;4462:339:226;932:38:214;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:214;;5008:2:226;980:91:214;;;4990:21:226;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:214;4806:354:226;980:91:214;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:226;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:226;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:226;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:226;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:226;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:214:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:214;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:214:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:214;;7009:2:226;4393:63:214;;;6991:21:226;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:214;6807:355:226;4393:63:214;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:214;;7369:2:226;2296:80:214;;;7351:21:226;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:214;7167:403:226;2296:80:214;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:226;;1401:2;1386:18;;1267:177;2515:42:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:214;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:226;2594:9:214;;:20;;1386:18:226;;2594:38:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:214;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:226;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:214;;;;-1:-1:-1;;2754:148:214;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:214;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:226;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:214:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:226;18911:18;;3713:52:107;18794:248:226;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:214:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:214;;3609:106;-1:-1:-1;3609:106:214:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:226;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:226;25536:15;;;45340:92:45;;;25518:34:226;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:226;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:226;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:226;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:226;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:226;;51494:30:45;27964:279:226;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:226;;;1386:18;;7664:67:24;1267:177:226;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:226;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:226;30142:79;;2092:30:124;;;30130:92:226;2092:30:124;;30238:12:226;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:226;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:226;;1710:439;-1:-1:-1;;;;;1710:439:226:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:226;;2420:180;-1:-1:-1;2420:180:226:o;5165:184::-;-1:-1:-1;;;5214:1:226;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:226;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:226;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:226;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:226;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:226;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:226;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:226;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:226;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:226;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:226;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:226:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:226;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:226:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:226:o;10716:184::-;-1:-1:-1;;;10765:1:226;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:226:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:226;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:226;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:226;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:226;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:226:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:226;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:226:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:226;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:226:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:226;;15702:184;-1:-1:-1;15702:184:226:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:226:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:226:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:226;;21043:640;-1:-1:-1;;;;;;;21043:640:226:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:226:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:226:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:226:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:226;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:226:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:226:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da\",\"dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xccf04cacce39f86742d109d243c1b17b947650a17d482bfee4e682ce43f05881\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c910fa067203cb370c0eb5dce4ce1b3cfff166079963a4261a7db8a4db87fbb7\",\"dweb:/ipfs/QmNiknjWZFzp8t38dwhRfTrvJtoHHnrQzuGQjjSTdyZsxX\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1b5fdd11b046dba8091312776b0aaf2a015992a2c794a54696e7dda21ddfee62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de52255175f50d737bde1fc543c1f82524f4cd89fef1a29e3a26333e15be7c22\",\"dweb:/ipfs/QmQXWEbqp97QCjofXc42YDi35QG3wRsuctXXhhyzLmnSFo\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x3cd69d8fc6f1beb049b8a5e37fb53404cc7517a39230f84a0c6b2e2c764b2c30","urls":["bzz-raw://666fd263955c6d05cf07686d79e7763ed13007246cc608712b0065c87d55b9da","dweb:/ipfs/QmfP5vNwnRKzY7ug1BET3ZF4bNHSfiM2LACKnU2kAKnPTV"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xccf04cacce39f86742d109d243c1b17b947650a17d482bfee4e682ce43f05881","urls":["bzz-raw://c910fa067203cb370c0eb5dce4ce1b3cfff166079963a4261a7db8a4db87fbb7","dweb:/ipfs/QmNiknjWZFzp8t38dwhRfTrvJtoHHnrQzuGQjjSTdyZsxX"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1b5fdd11b046dba8091312776b0aaf2a015992a2c794a54696e7dda21ddfee62","urls":["bzz-raw://de52255175f50d737bde1fc543c1f82524f4cd89fef1a29e3a26333e15be7c22","dweb:/ipfs/QmQXWEbqp97QCjofXc42YDi35QG3wRsuctXXhhyzLmnSFo"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":214}
\ No newline at end of file
+{"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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220a4ad18fa52194998f62789e684994ac718fcb2044aaa2714aaf327304a6a611964736f6c63430008180033","sourceMap":"412:4148:215:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220a4ad18fa52194998f62789e684994ac718fcb2044aaa2714aaf327304a6a611964736f6c63430008180033","sourceMap":"412:4148:215:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:228;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:228;;;689:74;;677:2;662:18;1262:113:123;543:226:228;1755:239:215;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:228;;1401:2;1386:18;1616:110:123;1267:177:228;1580:169:215;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:215:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:215:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:215;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:215;;1279:70;;;;-1:-1:-1;;;1279:70:215;;2807:2:228;1279:70:215;;;2789:21:228;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:215;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:215;;3212:2:228;1360:67:215;;;3194:21:228;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:215;3010:349:228;1360:67:215;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:215;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:215;;605:69;;;;-1:-1:-1;;;605:69:215;;3566:2:228;605:69:215;;;3548:21:228;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:215;3364:399:228;605:69:215;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:215;;3970:2:228;685:62:215;;;3952:21:228;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:215;3768:345:228;685:62:215;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:215;;4320:2:228;885:37:215;;;4302:21:228;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:215;4118:339:228;885:37:215;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:215;;4664:2:228;932:38:215;;;4646:21:228;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:215;4462:339:228;932:38:215;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:215;;5008:2:228;980:91:215;;;4990:21:228;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:215;4806:354:228;980:91:215;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:228;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:228;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:228;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:228;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:215:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:215;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:215:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:215;;7009:2:228;4393:63:215;;;6991:21:228;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:215;6807:355:228;4393:63:215;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:215;;7369:2:228;2296:80:215;;;7351:21:228;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:215;7167:403:228;2296:80:215;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:228;;1401:2;1386:18;;1267:177;2515:42:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:215;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:228;2594:9:215;;:20;;1386:18:228;;2594:38:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:215;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:228;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:215;;;;-1:-1:-1;;2754:148:215;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:215;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:215:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:228;18911:18;;3713:52:107;18794:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:215:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:215;;3609:106;-1:-1:-1;3609:106:215:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:228;25536:15;;;45340:92:45;;;25518:34:228;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:228;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:228;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:228;;51494:30:45;27964:279:228;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:228;;;1386:18;;7664:67:24;1267:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:228;30142:79;;2092:30:124;;;30130:92:228;2092:30:124;;30238:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:228;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:228;;1710:439;-1:-1:-1;;;;;1710:439:228:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:228;;2420:180;-1:-1:-1;2420:180:228:o;5165:184::-;-1:-1:-1;;;5214:1:228;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:228;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:228;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:228;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:228;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:228;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:228;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:228;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:228;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:228;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:228;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:228:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:228;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:228:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:228:o;10716:184::-;-1:-1:-1;;;10765:1:228;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:228:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:228;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:228;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:228;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:228;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:228:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:228;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:228:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:228;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:228:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:228;;15702:184;-1:-1:-1;15702:184:228:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:228:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:228:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:228;;21043:640;-1:-1:-1;;;;;;;21043:640:228:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:228:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:228:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:228:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:228;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:228:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:228:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":215}
\ No newline at end of file
diff --git a/packages/contracts/script/PostDeploy.s.sol b/packages/contracts/script/PostDeploy.s.sol
index 6d5cae39d..1c10fa100 100644
--- a/packages/contracts/script/PostDeploy.s.sol
+++ b/packages/contracts/script/PostDeploy.s.sol
@@ -1,323 +1,351 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { Script } from "forge-std/Script.sol";
-import { console } from "forge-std/console.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore, EncodedLengths } from "@latticexyz/store/src/StoreCore.sol";
-import { MockEntropy } from "@test/mocks/MockEntropy.sol";
-import { PuppetModule } from "@latticexyz/world-modules/src/modules/puppet/PuppetModule.sol";
-import { Systems } from "@latticexyz/world/src/codegen/tables/Systems.sol";
-import { IWorld } from "@world/IWorld.sol";
-import { UltimateDominionConfig, Levels, MapConfig } from "@codegen/index.sol";
-import { ResourceIdLib } from "@latticexyz/store/src/ResourceId.sol";
-import { ResourceId, WorldResourceIdLib, WorldResourceIdInstance } from "@latticexyz/world/src/WorldResourceId.sol";
-import { RESOURCE_SYSTEM } from "@latticexyz/world/src/worldResourceTypes.sol";
-import { RngSystem } from "../src/systems/RngSystem.sol";
-import { IERC721Mintable } from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
-import { registerERC721 } from "@latticexyz/world-modules/src/modules/erc721-puppet/registerERC721.sol";
-import { ERC721System } from "@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol";
-import { ERC721MetadataData } from "@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol";
-import { GOLD_NAMESPACE, CHARACTERS_NAMESPACE, ERC721_NAME, ERC721_SYMBOL, ITEMS_NAMESPACE, TOKEN_URI } from "../constants.sol";
-import { NoTransferHook } from "../src/NoTransferHook.sol";
-import { BEFORE_CALL_SYSTEM } from "@latticexyz/world/src/systemHookTypes.sol";
-import { Classes, ItemType, MobType } from "@codegen/common.sol";
-import { WeaponStats, MonsterStats, MonsterTemplateDetails, WeaponTemplateDetails } from "@interfaces/Structs.sol";
-import { IERC20Mintable } from "@latticexyz/world-modules/src/modules/erc20-puppet/IERC20Mintable.sol";
-import { ERC20MetadataData } from "@latticexyz/world-modules/src/modules/erc20-puppet/tables/ERC20Metadata.sol";
-import { ERC20System } from "@latticexyz/world-modules/src/modules/erc20-puppet/ERC20System.sol";
-import { registerERC20 } from "@latticexyz/world-modules/src/modules/erc20-puppet/registerERC20.sol";
-import { System } from "@latticexyz/world/src/System.sol";
-import { CharacterSystem } from "../src/systems/CharacterSystem.sol";
-
-import { ERC1155Module } from "@erc1155/ERC1155Module.sol";
-import { ERC1155System } from "@erc1155/ERC1155System.sol";
-import { IERC1155 } from "@erc1155/IERC1155.sol";
-import { registerERC1155 } from "@erc1155/registerERC1155.sol";
-import { _erc1155SystemId } from "@erc1155/utils.sol";
-
-import { Multicall3 } from "./Multicall3.sol";
+import {Script} from "forge-std/Script.sol";
+import {console} from "forge-std/console.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore, EncodedLengths} from "@latticexyz/store/src/StoreCore.sol";
+import {MockEntropy} from "@test/mocks/MockEntropy.sol";
+import {PuppetModule} from "@latticexyz/world-modules/src/modules/puppet/PuppetModule.sol";
+import {Systems} from "@latticexyz/world/src/codegen/tables/Systems.sol";
+import {IWorld} from "@world/IWorld.sol";
+import {UltimateDominionConfig, Levels, MapConfig} from "@codegen/index.sol";
+import {ResourceIdLib} from "@latticexyz/store/src/ResourceId.sol";
+import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
+import {RESOURCE_SYSTEM} from "@latticexyz/world/src/worldResourceTypes.sol";
+import {RngSystem} from "../src/systems/RngSystem.sol";
+import {IERC721Mintable} from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
+import {registerERC721} from "@latticexyz/world-modules/src/modules/erc721-puppet/registerERC721.sol";
+import {ERC721System} from "@latticexyz/world-modules/src/modules/erc721-puppet/ERC721System.sol";
+import {ERC721MetadataData} from "@latticexyz/world-modules/src/modules/erc721-puppet/tables/ERC721Metadata.sol";
+import {
+ GOLD_NAMESPACE,
+ CHARACTERS_NAMESPACE,
+ ERC721_NAME,
+ ERC721_SYMBOL,
+ ITEMS_NAMESPACE,
+ TOKEN_URI
+} from "../constants.sol";
+import {NoTransferHook} from "../src/NoTransferHook.sol";
+import {BEFORE_CALL_SYSTEM} from "@latticexyz/world/src/systemHookTypes.sol";
+import {Classes, ItemType, MobType} from "@codegen/common.sol";
+import {
+ WeaponStats,
+ MonsterStats,
+ MonsterTemplateDetails,
+ WeaponTemplateDetails,
+ ArmorTemplateDetails,
+ ArmorStats,
+ StarterItems
+} from "@interfaces/Structs.sol";
+import {IERC20Mintable} from "@latticexyz/world-modules/src/modules/erc20-puppet/IERC20Mintable.sol";
+import {ERC20MetadataData} from "@latticexyz/world-modules/src/modules/erc20-puppet/tables/ERC20Metadata.sol";
+import {ERC20System} from "@latticexyz/world-modules/src/modules/erc20-puppet/ERC20System.sol";
+import {registerERC20} from "@latticexyz/world-modules/src/modules/erc20-puppet/registerERC20.sol";
+import {System} from "@latticexyz/world/src/System.sol";
+import {CharacterSystem} from "../src/systems/CharacterSystem.sol";
+
+import {ERC1155Module} from "@erc1155/ERC1155Module.sol";
+import {ERC1155System} from "@erc1155/ERC1155System.sol";
+import {IERC1155} from "@erc1155/IERC1155.sol";
+import {registerERC1155} from "@erc1155/registerERC1155.sol";
+import {_erc1155SystemId} from "@erc1155/utils.sol";
+
+import {Multicall3} from "./Multicall3.sol";
import "forge-std/console2.sol";
import "forge-std/StdJson.sol";
struct ResourceIds {
- ResourceId erc721SystemId;
- ResourceId erc721NamespaceId;
- ResourceId characterSystemId;
- ResourceId erc20SystemId;
- ResourceId erc20NamespaceId;
- ResourceId rngSystemId;
- ResourceId erc1155SystemId;
- ResourceId erc1155NamespaceId;
- ResourceId itemsSystemId;
- ResourceId combatSystemId;
+ ResourceId erc721SystemId;
+ ResourceId erc721NamespaceId;
+ ResourceId characterSystemId;
+ ResourceId erc20SystemId;
+ ResourceId erc20NamespaceId;
+ ResourceId rngSystemId;
+ ResourceId erc1155SystemId;
+ ResourceId erc1155NamespaceId;
+ ResourceId itemsSystemId;
+ ResourceId combatSystemId;
}
contract PostDeploy is Script {
- using stdJson for string;
-
- IWorld public world;
- ResourceIds public resourceIds;
- address public worldAddress;
-
- function run(address _worldAddress) external {
- worldAddress = _worldAddress;
- world = IWorld(worldAddress);
- // Specify a store so that you can use tables directly in PostDeploy
- StoreSwitch.setStoreAddress(worldAddress);
-
- // Load the private key from the `PRIVATE_KEY` environment variable (in .env)
- uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
-
- // Start broadcasting transactions from the deployer account
- vm.startBroadcast(deployerPrivateKey);
- if (block.chainid == 31337) {
- // Set entropy contracts
- address multicall3 = address(new Multicall3());
- address mockEntropy = address(new MockEntropy());
- UltimateDominionConfig.setMulticall(multicall3);
- UltimateDominionConfig.setEntropy(mockEntropy);
- UltimateDominionConfig.setPythProvider(address(1));
- } else if (block.chainid == 84532) {
- UltimateDominionConfig.setMulticall(0xcA11bde05977b3631167028862bE2a173976CA11);
- UltimateDominionConfig.setEntropy(0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c);
- UltimateDominionConfig.setPythProvider(0x6CC14824Ea2918f5De5C2f75A9Da968ad4BD6344);
- } else if (block.chainid == 8453) {
- UltimateDominionConfig.setMulticall(0xcA11bde05977b3631167028862bE2a173976CA11);
- UltimateDominionConfig.setEntropy(0x6E7D74FA7d5c90FEF9F0512987605a6d546181Bb);
- UltimateDominionConfig.setPythProvider(0x52DeaA1c84233F7bb8C8A45baeDE41091c616506);
- }
+ using stdJson for string;
- uint16 height = uint16(10);
- uint16 width = uint16(10);
- MapConfig.set(width, height);
-
- //install puppet
- world.installModule(new PuppetModule(), new bytes(0));
-
- _addRngSystem();
-
- // install gold module
- IERC20Mintable goldToken = registerERC20(
- world,
- GOLD_NAMESPACE,
- ERC20MetadataData({ decimals: 18, name: "GoldToken", symbol: unicode"🜚" })
- );
-
- UltimateDominionConfig.setGoldToken(address(goldToken));
-
- // characters
- IERC721Mintable characters = registerERC721(
- world,
- CHARACTERS_NAMESPACE,
- ERC721MetadataData({ name: ERC721_NAME, symbol: ERC721_SYMBOL, baseURI: TOKEN_URI })
- );
-
- UltimateDominionConfig.setCharacterToken(address(characters));
-
- {
- resourceIds.erc20NamespaceId = WorldResourceIdLib.encodeNamespace(GOLD_NAMESPACE);
- resourceIds.erc20SystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "Gold",
- name: "GoldToken"
- });
-
- resourceIds.characterSystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "UD",
- name: "CharacterSystem"
- });
-
- resourceIds.erc721NamespaceId = WorldResourceIdLib.encodeNamespace(CHARACTERS_NAMESPACE);
-
- resourceIds.erc721SystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "Characters",
- name: "ERC721System"
- });
- resourceIds.combatSystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "UD",
- name: "CombatSystem"
- });
- resourceIds.erc1155SystemId = _erc1155SystemId(ITEMS_NAMESPACE);
- resourceIds.erc1155NamespaceId = WorldResourceIdLib.encodeNamespace(ITEMS_NAMESPACE);
- resourceIds.itemsSystemId = WorldResourceIdLib.encode({
- typeId: RESOURCE_SYSTEM,
- namespace: "UD",
- name: "ItemsSystem"
- });
+ IWorld public world;
+ ResourceIds public resourceIds;
+ address public worldAddress;
+
+ function run(address _worldAddress) external {
+ worldAddress = _worldAddress;
+ world = IWorld(worldAddress);
+ // Specify a store so that you can use tables directly in PostDeploy
+ StoreSwitch.setStoreAddress(worldAddress);
+
+ // Load the private key from the `PRIVATE_KEY` environment variable (in .env)
+ uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
+
+ // Start broadcasting transactions from the deployer account
+ vm.startBroadcast(deployerPrivateKey);
+ if (block.chainid == 31337) {
+ // Set entropy contracts
+ address multicall3 = address(new Multicall3());
+ address mockEntropy = address(new MockEntropy());
+ UltimateDominionConfig.setMulticall(multicall3);
+ UltimateDominionConfig.setEntropy(mockEntropy);
+ UltimateDominionConfig.setPythProvider(address(1));
+ } else if (block.chainid == 84532) {
+ UltimateDominionConfig.setMulticall(0xcA11bde05977b3631167028862bE2a173976CA11);
+ UltimateDominionConfig.setEntropy(0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c);
+ UltimateDominionConfig.setPythProvider(0x6CC14824Ea2918f5De5C2f75A9Da968ad4BD6344);
+ } else if (block.chainid == 8453) {
+ UltimateDominionConfig.setMulticall(0xcA11bde05977b3631167028862bE2a173976CA11);
+ UltimateDominionConfig.setEntropy(0x6E7D74FA7d5c90FEF9F0512987605a6d546181Bb);
+ UltimateDominionConfig.setPythProvider(0x52DeaA1c84233F7bb8C8A45baeDE41091c616506);
+ }
+
+ uint16 height = uint16(10);
+ uint16 width = uint16(10);
+ MapConfig.set(width, height);
+
+ //install puppet
+ world.installModule(new PuppetModule(), new bytes(0));
+
+ _addRngSystem();
+
+ // install gold module
+ IERC20Mintable goldToken = registerERC20(
+ world, GOLD_NAMESPACE, ERC20MetadataData({decimals: 18, name: "GoldToken", symbol: unicode"🜚"})
+ );
+
+ UltimateDominionConfig.setGoldToken(address(goldToken));
+
+ // characters
+ IERC721Mintable characters = registerERC721(
+ world,
+ CHARACTERS_NAMESPACE,
+ ERC721MetadataData({name: ERC721_NAME, symbol: ERC721_SYMBOL, baseURI: TOKEN_URI})
+ );
+
+ UltimateDominionConfig.setCharacterToken(address(characters));
+
+ {
+ resourceIds.erc20NamespaceId = WorldResourceIdLib.encodeNamespace(GOLD_NAMESPACE);
+ resourceIds.erc20SystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "Gold", name: "GoldToken"});
+
+ resourceIds.characterSystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "UD", name: "CharacterSystem"});
+
+ resourceIds.erc721NamespaceId = WorldResourceIdLib.encodeNamespace(CHARACTERS_NAMESPACE);
+
+ resourceIds.erc721SystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "Characters", name: "ERC721System"});
+ resourceIds.combatSystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "UD", name: "CombatSystem"});
+ resourceIds.erc1155SystemId = _erc1155SystemId(ITEMS_NAMESPACE);
+ resourceIds.erc1155NamespaceId = WorldResourceIdLib.encodeNamespace(ITEMS_NAMESPACE);
+ resourceIds.itemsSystemId =
+ WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "UD", name: "ItemsSystem"});
+ }
+
+ address characterSystemAddress = Systems.getSystem(resourceIds.characterSystemId);
+
+ System goldSystemContract = new ERC20System();
+
+ world.registerSystem(resourceIds.erc20SystemId, goldSystemContract, true);
+
+ IWorld(worldAddress).grantAccess(resourceIds.erc20NamespaceId, worldAddress);
+ IWorld(worldAddress).registerFunctionSelector(resourceIds.erc20SystemId, "mint(address,uint256)");
+
+ world.transferOwnership(resourceIds.erc20NamespaceId, address(characterSystemAddress));
+
+ System systemContract = new ERC721System();
+ world.registerSystem(resourceIds.erc721SystemId, systemContract, true);
+
+ NoTransferHook characterHook = new NoTransferHook();
+
+ world.registerSystemHook(resourceIds.erc721SystemId, characterHook, BEFORE_CALL_SYSTEM);
+
+ // Transfer characters namespace to World
+ world.grantAccess(resourceIds.erc721SystemId, worldAddress);
+ world.grantAccess(resourceIds.erc721SystemId, characterSystemAddress);
+ world.transferOwnership(resourceIds.erc721NamespaceId, characterSystemAddress);
+
+ address items = _deployErc1155(world, ITEMS_NAMESPACE);
+ UltimateDominionConfig.setItems(address(items));
+ //allow entropy system to call callback on Combat system
+ world.grantAccess(resourceIds.combatSystemId, UltimateDominionConfig.getEntropy());
+ _createStarterItems();
+ _createMonsters();
+ setLevels();
+ vm.stopBroadcast();
}
- address characterSystemAddress = Systems.getSystem(resourceIds.characterSystemId);
-
- System goldSystemContract = new ERC20System();
-
- world.registerSystem(resourceIds.erc20SystemId, goldSystemContract, true);
-
- IWorld(worldAddress).grantAccess(resourceIds.erc20NamespaceId, worldAddress);
- IWorld(worldAddress).registerFunctionSelector(resourceIds.erc20SystemId, "mint(address,uint256)");
-
- world.transferOwnership(resourceIds.erc20NamespaceId, address(characterSystemAddress));
-
- System systemContract = new ERC721System();
- world.registerSystem(resourceIds.erc721SystemId, systemContract, true);
-
- NoTransferHook characterHook = new NoTransferHook();
-
- world.registerSystemHook(resourceIds.erc721SystemId, characterHook, BEFORE_CALL_SYSTEM);
-
- // Transfer characters namespace to World
- world.grantAccess(resourceIds.erc721SystemId, worldAddress);
- world.grantAccess(resourceIds.erc721SystemId, characterSystemAddress);
- world.transferOwnership(resourceIds.erc721NamespaceId, characterSystemAddress);
-
- address items = _deployErc1155(world, ITEMS_NAMESPACE);
- UltimateDominionConfig.setItems(address(items));
- //allow entropy system to call callback on Combat system
- world.grantAccess(resourceIds.combatSystemId, UltimateDominionConfig.getEntropy());
- _createStarterItems();
- _createMonsters();
- setLevels();
- vm.stopBroadcast();
- }
-
- function _deployErc1155(IWorld _world, bytes14 itemsNamespace) internal returns (address) {
- string memory json = vm.readFile("items.json");
- string memory metadataUriPrefix = json.readString(".metadataUriPrefix");
-
- IERC1155 _items = registerERC1155(_world, itemsNamespace, metadataUriPrefix);
-
- // ERC1155System erc1155System = new ERC1155System();
- address itemsSystemAddress = Systems.getSystem(resourceIds.itemsSystemId);
-
- // _world.registerSystem(resourceIds.erc1155SystemId, erc1155System, false);
- _world.grantAccess(resourceIds.erc1155SystemId, worldAddress);
- world.transferOwnership(resourceIds.erc1155NamespaceId, itemsSystemAddress);
- return address(_items);
- }
-
- function _addRngSystem() internal {
- System rngSystem = new RngSystem();
-
- resourceIds.rngSystemId = WorldResourceIdLib.encode(RESOURCE_SYSTEM, "", "RngSystem");
-
- world.registerSystem(resourceIds.rngSystemId, rngSystem, true);
- world.registerRootFunctionSelector(
- resourceIds.rngSystemId,
- "getRng(bytes32,uint8,bytes)",
- "getRng(bytes32,uint8,bytes)"
- );
- world.registerRootFunctionSelector(
- resourceIds.rngSystemId,
- "entropyCallback(uint64,address,bytes32)",
- "entropyCallback(uint64,address,bytes32)"
- );
- world.registerRootFunctionSelector(
- resourceIds.rngSystemId,
- "_entropyCallback(uint64,address,bytes32)",
- "_entropyCallback(uint64,address,bytes32)"
- );
- world.registerRootFunctionSelector(resourceIds.rngSystemId, "getFee()", "getFee()");
- world.registerRootFunctionSelector(resourceIds.rngSystemId, "getEntropy()", "getEntropy()");
- }
-
- function _createStarterItems() internal {
- string memory json = vm.readFile("items.json");
- bytes memory itemStatsData = vm.parseJson(json, ".items");
-
- WeaponTemplateDetails[] memory itemTemplateDetails = abi.decode(itemStatsData, (WeaponTemplateDetails[]));
-
- uint256[] memory warriorItemIds = new uint256[](1);
- uint256[] memory rogueItemIds = new uint256[](1);
- uint256[] memory mageItemIds = new uint256[](1);
-
- for (uint256 i = 0; i < itemTemplateDetails.length; i++) {
- WeaponTemplateDetails memory itemTemplate = itemTemplateDetails[i];
-
- WeaponStats memory newWeapon = WeaponStats({
- agiModifier: itemTemplate.stats.agiModifier,
- classRestrictions: itemTemplate.stats.classRestrictions,
- hitPointModifier: itemTemplate.stats.hitPointModifier,
- intModifier: itemTemplate.stats.intModifier,
- maxDamage: itemTemplate.stats.maxDamage,
- minDamage: itemTemplate.stats.minDamage,
- minLevel: itemTemplate.stats.minLevel,
- strModifier: itemTemplate.stats.strModifier
- });
-
- uint256 starterItemId = world.UD__createItem(
- ItemType.Weapon,
- 10 ether,
- abi.encode(newWeapon),
- itemTemplate.metadataUri
- );
-
- if (i == 0) {
- warriorItemIds[0] = starterItemId;
- }
- if (i == 1) {
- rogueItemIds[0] = starterItemId;
- }
- if (i == 2) {
- mageItemIds[0] = starterItemId;
- }
- }
+ function _deployErc1155(IWorld _world, bytes14 itemsNamespace) internal returns (address) {
+ string memory json = vm.readFile("items.json");
+ string memory metadataUriPrefix = json.readString(".metadataUriPrefix");
- uint256[] memory amounts = new uint256[](1);
- amounts[0] = 1;
+ IERC1155 _items = registerERC1155(_world, itemsNamespace, metadataUriPrefix);
- world.UD__setStarterItems(Classes.Warrior, warriorItemIds, amounts);
- world.UD__setStarterItems(Classes.Rogue, rogueItemIds, amounts);
- world.UD__setStarterItems(Classes.Mage, mageItemIds, amounts);
- }
+ // ERC1155System erc1155System = new ERC1155System();
+ address itemsSystemAddress = Systems.getSystem(resourceIds.itemsSystemId);
- function _createMonsters() internal {
- string memory json = vm.readFile("monsters.json");
- bytes memory monsterStatsData = vm.parseJson(json, ".monsters");
+ // _world.registerSystem(resourceIds.erc1155SystemId, erc1155System, false);
+ _world.grantAccess(resourceIds.erc1155SystemId, worldAddress);
+ world.transferOwnership(resourceIds.erc1155NamespaceId, itemsSystemAddress);
+ return address(_items);
+ }
- MonsterTemplateDetails[] memory monsterTemplateDetails = abi.decode(monsterStatsData, (MonsterTemplateDetails[]));
+ function _addRngSystem() internal {
+ System rngSystem = new RngSystem();
+
+ resourceIds.rngSystemId = WorldResourceIdLib.encode(RESOURCE_SYSTEM, "", "RngSystem");
+
+ world.registerSystem(resourceIds.rngSystemId, rngSystem, true);
+ world.registerRootFunctionSelector(
+ resourceIds.rngSystemId, "getRng(bytes32,uint8,bytes)", "getRng(bytes32,uint8,bytes)"
+ );
+ world.registerRootFunctionSelector(
+ resourceIds.rngSystemId,
+ "entropyCallback(uint64,address,bytes32)",
+ "entropyCallback(uint64,address,bytes32)"
+ );
+ world.registerRootFunctionSelector(
+ resourceIds.rngSystemId,
+ "_entropyCallback(uint64,address,bytes32)",
+ "_entropyCallback(uint64,address,bytes32)"
+ );
+ world.registerRootFunctionSelector(resourceIds.rngSystemId, "getFee()", "getFee()");
+ world.registerRootFunctionSelector(resourceIds.rngSystemId, "getEntropy()", "getEntropy()");
+ }
- for (uint256 i = 0; i < monsterTemplateDetails.length; i++) {
- MonsterTemplateDetails memory monsterTemplate = monsterTemplateDetails[i];
+ function _createStarterItems() internal {
+ // string memory root = vm.projectRoot();
+ // string memory path = string.concat("items.json");
+ string memory json = vm.readFile("items.json");
+ bytes memory data = vm.parseJson(json);
+
+ StarterItems memory itemsData = abi.decode(data, (StarterItems));
+
+ uint256[] memory warriorItemIds = new uint256[](2);
+ uint256[] memory rogueItemIds = new uint256[](2);
+ uint256[] memory mageItemIds = new uint256[](2);
+
+ for (uint256 i = 0; i < itemsData.weapons.length; i++) {
+ WeaponTemplateDetails memory weaponTemplate = itemsData.weapons[i];
+
+ WeaponStats memory newWeapon = WeaponStats({
+ agiModifier: weaponTemplate.stats.agiModifier,
+ classRestrictions: weaponTemplate.stats.classRestrictions,
+ hitPointModifier: weaponTemplate.stats.hitPointModifier,
+ intModifier: weaponTemplate.stats.intModifier,
+ maxDamage: weaponTemplate.stats.maxDamage,
+ minDamage: weaponTemplate.stats.minDamage,
+ minLevel: weaponTemplate.stats.minLevel,
+ strModifier: weaponTemplate.stats.strModifier
+ });
+
+ uint256 starterArmorId = world.UD__createItem(
+ ItemType.Weapon,
+ weaponTemplate.initialSupply,
+ weaponTemplate.dropChance,
+ abi.encode(newWeapon),
+ weaponTemplate.metadataUri
+ );
+
+ if (i == 0) {
+ warriorItemIds[1] = starterArmorId;
+ }
+ if (i == 1) {
+ rogueItemIds[1] = starterArmorId;
+ }
+ if (i == 2) {
+ mageItemIds[1] = starterArmorId;
+ }
+ }
+
+ for (uint256 i = 0; i < itemsData.armor.length; i++) {
+ ArmorTemplateDetails memory armorTemplate = itemsData.armor[i];
+
+ ArmorStats memory newArmor = ArmorStats({
+ agiModifier: armorTemplate.stats.agiModifier,
+ armorModifier: armorTemplate.stats.armorModifier,
+ classRestrictions: armorTemplate.stats.classRestrictions,
+ hitPointModifier: armorTemplate.stats.hitPointModifier,
+ intModifier: armorTemplate.stats.intModifier,
+ minLevel: armorTemplate.stats.minLevel,
+ strModifier: armorTemplate.stats.strModifier
+ });
+
+ uint256 starterItemId = world.UD__createItem(
+ ItemType.Armor,
+ armorTemplate.initialSupply,
+ armorTemplate.dropChance,
+ abi.encode(newArmor),
+ armorTemplate.metadataUri
+ );
+
+ if (i == 0) {
+ warriorItemIds[0] = starterItemId;
+ rogueItemIds[0] = starterItemId;
+ mageItemIds[0] = starterItemId;
+ }
+ }
+ uint256[] memory amounts = new uint256[](2);
+ amounts[0] = 1;
+ amounts[1] = 1;
+
+ world.UD__setStarterItems(Classes.Warrior, warriorItemIds, amounts);
+ world.UD__setStarterItems(Classes.Rogue, rogueItemIds, amounts);
+ world.UD__setStarterItems(Classes.Mage, mageItemIds, amounts);
+ }
- MonsterStats memory newMonster = MonsterStats({
- agility: monsterTemplate.stats.agility,
- armor: monsterTemplate.stats.armor,
- class: monsterTemplate.stats.class,
- experience: monsterTemplate.stats.experience,
- hitPoints: monsterTemplate.stats.hitPoints,
- level: monsterTemplate.stats.level,
- intelligence: monsterTemplate.stats.intelligence,
- inventory: monsterTemplate.stats.inventory,
- strength: monsterTemplate.stats.strength
- });
+ function _createMonsters() internal {
+ string memory json = vm.readFile("monsters.json");
+ bytes memory monsterStatsData = vm.parseJson(json, ".monsters");
+
+ MonsterTemplateDetails[] memory monsterTemplateDetails =
+ abi.decode(monsterStatsData, (MonsterTemplateDetails[]));
+
+ for (uint256 i = 0; i < monsterTemplateDetails.length; i++) {
+ MonsterTemplateDetails memory monsterTemplate = monsterTemplateDetails[i];
+
+ MonsterStats memory newMonster = MonsterStats({
+ agility: monsterTemplate.stats.agility,
+ armor: monsterTemplate.stats.armor,
+ class: monsterTemplate.stats.class,
+ experience: monsterTemplate.stats.experience,
+ hitPoints: monsterTemplate.stats.hitPoints,
+ level: monsterTemplate.stats.level,
+ intelligence: monsterTemplate.stats.intelligence,
+ inventory: monsterTemplate.stats.inventory,
+ strength: monsterTemplate.stats.strength
+ });
+
+ world.UD__createMob(MobType.Monster, abi.encode(newMonster), monsterTemplate.metadataUri);
+ }
+ }
- world.UD__createMob(MobType.Monster, abi.encode(newMonster), monsterTemplate.metadataUri);
+ function setLevels() internal {
+ Levels.setExperience(1, 300);
+ Levels.setExperience(2, 900);
+ Levels.setExperience(3, 2700);
+ Levels.setExperience(4, 6500);
+ Levels.setExperience(5, 14000);
+ Levels.setExperience(6, 23000);
+ Levels.setExperience(7, 34000);
+ Levels.setExperience(8, 48000);
+ Levels.setExperience(9, 64000);
+ Levels.setExperience(10, 85000);
+ Levels.setExperience(11, 100000);
+ Levels.setExperience(12, 120000);
+ Levels.setExperience(13, 140000);
+ Levels.setExperience(14, 165000);
+ Levels.setExperience(15, 195000);
+ Levels.setExperience(16, 225000);
+ Levels.setExperience(17, 265000);
+ Levels.setExperience(18, 305000);
+ Levels.setExperience(19, 355000);
}
- }
-
- function setLevels() internal {
- Levels.setExperience(1, 300);
- Levels.setExperience(2, 900);
- Levels.setExperience(3, 2700);
- Levels.setExperience(4, 6500);
- Levels.setExperience(5, 14000);
- Levels.setExperience(6, 23000);
- Levels.setExperience(7, 34000);
- Levels.setExperience(8, 48000);
- Levels.setExperience(9, 64000);
- Levels.setExperience(10, 85000);
- Levels.setExperience(11, 100000);
- Levels.setExperience(12, 120000);
- Levels.setExperience(13, 140000);
- Levels.setExperience(14, 165000);
- Levels.setExperience(15, 195000);
- Levels.setExperience(16, 225000);
- Levels.setExperience(17, 265000);
- Levels.setExperience(18, 305000);
- Levels.setExperience(19, 355000);
- }
}
diff --git a/packages/contracts/src/codegen/tables/Items.sol b/packages/contracts/src/codegen/tables/Items.sol
index 062d4d430..d7a85595c 100644
--- a/packages/contracts/src/codegen/tables/Items.sol
+++ b/packages/contracts/src/codegen/tables/Items.sol
@@ -21,6 +21,7 @@ import { ItemType } from "./../common.sol";
struct ItemsData {
ItemType itemType;
+ uint256 dropChance;
bytes stats;
}
@@ -29,12 +30,12 @@ library Items {
ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004974656d730000000000000000000000);
FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
+ FieldLayout.wrap(0x0021020101200000000000000000000000000000000000000000000000000000);
// Hex-encoded key schema of (uint256)
Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, bytes)
- Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, uint256, bytes)
+ Schema constant _valueSchema = Schema.wrap(0x00210201001fc400000000000000000000000000000000000000000000000000);
/**
* @notice Get the table's key field names.
@@ -50,9 +51,10 @@ library Items {
* @return fieldNames An array of strings with the names of value fields.
*/
function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
+ fieldNames = new string[](3);
fieldNames[0] = "itemType";
- fieldNames[1] = "stats";
+ fieldNames[1] = "dropChance";
+ fieldNames[2] = "stats";
}
/**
@@ -111,6 +113,48 @@ library Items {
StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
}
+ /**
+ * @notice Get dropChance.
+ */
+ function getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get dropChance.
+ */
+ function _getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set dropChance.
+ */
+ function setDropChance(uint256 itemId, uint256 dropChance) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set dropChance.
+ */
+ function _setDropChance(uint256 itemId, uint256 dropChance) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
+ }
+
/**
* @notice Get stats.
*/
@@ -306,8 +350,8 @@ library Items {
/**
* @notice Set the full data using individual values.
*/
- function set(uint256 itemId, ItemType itemType, bytes memory stats) internal {
- bytes memory _staticData = encodeStatic(itemType);
+ function set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
EncodedLengths _encodedLengths = encodeLengths(stats);
bytes memory _dynamicData = encodeDynamic(stats);
@@ -321,8 +365,8 @@ library Items {
/**
* @notice Set the full data using individual values.
*/
- function _set(uint256 itemId, ItemType itemType, bytes memory stats) internal {
- bytes memory _staticData = encodeStatic(itemType);
+ function _set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
EncodedLengths _encodedLengths = encodeLengths(stats);
bytes memory _dynamicData = encodeDynamic(stats);
@@ -337,7 +381,7 @@ library Items {
* @notice Set the full data using the data struct.
*/
function set(uint256 itemId, ItemsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.itemType);
+ bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
EncodedLengths _encodedLengths = encodeLengths(_table.stats);
bytes memory _dynamicData = encodeDynamic(_table.stats);
@@ -352,7 +396,7 @@ library Items {
* @notice Set the full data using the data struct.
*/
function _set(uint256 itemId, ItemsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.itemType);
+ bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
EncodedLengths _encodedLengths = encodeLengths(_table.stats);
bytes memory _dynamicData = encodeDynamic(_table.stats);
@@ -366,8 +410,10 @@ library Items {
/**
* @notice Decode the tightly packed blob of static data using this table's field layout.
*/
- function decodeStatic(bytes memory _blob) internal pure returns (ItemType itemType) {
+ function decodeStatic(bytes memory _blob) internal pure returns (ItemType itemType, uint256 dropChance) {
itemType = ItemType(uint8(Bytes.getBytes1(_blob, 0)));
+
+ dropChance = (uint256(Bytes.getBytes32(_blob, 1)));
}
/**
@@ -396,7 +442,7 @@ library Items {
EncodedLengths _encodedLengths,
bytes memory _dynamicData
) internal pure returns (ItemsData memory _table) {
- (_table.itemType) = decodeStatic(_staticData);
+ (_table.itemType, _table.dropChance) = decodeStatic(_staticData);
(_table.stats) = decodeDynamic(_encodedLengths, _dynamicData);
}
@@ -425,8 +471,8 @@ library Items {
* @notice Tightly pack static (fixed length) data using this table's schema.
* @return The static data, encoded into a sequence of bytes.
*/
- function encodeStatic(ItemType itemType) internal pure returns (bytes memory) {
- return abi.encodePacked(itemType);
+ function encodeStatic(ItemType itemType, uint256 dropChance) internal pure returns (bytes memory) {
+ return abi.encodePacked(itemType, dropChance);
}
/**
@@ -456,9 +502,10 @@ library Items {
*/
function encode(
ItemType itemType,
+ uint256 dropChance,
bytes memory stats
) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(itemType);
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
EncodedLengths _encodedLengths = encodeLengths(stats);
bytes memory _dynamicData = encodeDynamic(stats);
diff --git a/packages/contracts/src/codegen/world/IItemsSystem.sol b/packages/contracts/src/codegen/world/IItemsSystem.sol
index 478e59d95..ae9e4e705 100644
--- a/packages/contracts/src/codegen/world/IItemsSystem.sol
+++ b/packages/contracts/src/codegen/world/IItemsSystem.sol
@@ -15,6 +15,7 @@ interface IItemsSystem {
function UD__createItem(
ItemType itemType,
uint256 supply,
+ uint256 dropChance,
bytes memory stats,
string memory itemMetadataURI
) external returns (uint256);
@@ -22,6 +23,7 @@ interface IItemsSystem {
function UD__createItems(
ItemType[] memory itemTypes,
uint256[] memory supply,
+ uint256[] memory dropChances,
bytes[] memory stats,
string[] memory itemMetadataURIs
) external;
diff --git a/packages/contracts/src/interfaces/Structs.sol b/packages/contracts/src/interfaces/Structs.sol
index 71da51c21..1dfce41bc 100644
--- a/packages/contracts/src/interfaces/Structs.sol
+++ b/packages/contracts/src/interfaces/Structs.sol
@@ -1,60 +1,76 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-import { ItemType, Classes, Alignment } from "@codegen/common.sol";
+import {ItemType, Classes, Alignment} from "@codegen/common.sol";
struct WeaponStats {
- int256 agiModifier;
- uint8[] classRestrictions;
- int256 hitPointModifier;
- int256 intModifier;
- uint256 maxDamage;
- uint256 minDamage;
- uint256 minLevel;
- int256 strModifier;
+ int256 agiModifier;
+ uint8[] classRestrictions;
+ int256 hitPointModifier;
+ int256 intModifier;
+ uint256 maxDamage;
+ uint256 minDamage;
+ uint256 minLevel;
+ int256 strModifier;
}
struct WeaponTemplateDetails {
- string metadataUri;
- string name;
- WeaponStats stats;
+ uint256 dropChance;
+ uint256 initialSupply;
+ string metadataUri;
+ string name;
+ WeaponStats stats;
+}
+
+struct ArmorTemplateDetails {
+ uint256 dropChance;
+ uint256 initialSupply;
+ string metadataUri;
+ string name;
+ ArmorStats stats;
+}
+
+struct StarterItems {
+ ArmorTemplateDetails[] armor;
+ string metadataUriPrefix;
+ WeaponTemplateDetails[] weapons;
}
struct ArmorStats {
- uint256 armorModifier;
- uint8[] classRestrictions;
- uint256 minLevel;
- int256 strModifier;
- int256 agiModifier;
- int256 intModifier;
- int256 hitPointModifier;
+ int256 agiModifier;
+ uint256 armorModifier;
+ uint8[] classRestrictions;
+ int256 hitPointModifier;
+ int256 intModifier;
+ uint256 minLevel;
+ int256 strModifier;
}
struct MonsterStats {
- //base to hit number for this mob for physical attacks = agility * physicalAttackConversion
- uint256 agility;
- // damage reduction: subtracted from total damage
- uint256 armor;
- // monster's class
- Classes class;
- // the amount of experience this monster is worth
- uint256 experience;
- // hit points
- uint256 hitPoints;
- // base to hit modifier for magical Attacks = inteligence * magicDefenseConversion
- uint256 intelligence;
- // item ids of potential drops
- uint256[] inventory;
- // monster level
- uint256 level;
- // base damage = strength * damangeConversion
- uint256 strength;
+ //base to hit number for this mob for physical attacks = agility * physicalAttackConversion
+ uint256 agility;
+ // damage reduction: subtracted from total damage
+ uint256 armor;
+ // monster's class
+ Classes class;
+ // the amount of experience this monster is worth
+ uint256 experience;
+ // hit points
+ uint256 hitPoints;
+ // base to hit modifier for magical Attacks = inteligence * magicDefenseConversion
+ uint256 intelligence;
+ // item ids of potential drops
+ uint256[] inventory;
+ // monster level
+ uint256 level;
+ // base damage = strength * damangeConversion
+ uint256 strength;
}
struct MonsterTemplateDetails {
- string metadataUri;
- string name;
- MonsterStats stats;
+ string metadataUri;
+ string name;
+ MonsterStats stats;
}
struct AdjustedCombatStats {
@@ -69,41 +85,41 @@ struct AdjustedCombatStats {
}
struct PhysicalAttackStats {
- // additional damage on top of item damage
- int256 bonusDamage;
- // base armor penetration
- int256 armorPenetration;
- //bonus chance to hit
- int256 attackModifierBonus;
- // crit chance
- int256 critChanceBonus;
+ // additional damage on top of item damage
+ int256 bonusDamage;
+ // base armor penetration
+ int256 armorPenetration;
+ //bonus chance to hit
+ int256 attackModifierBonus;
+ // crit chance
+ int256 critChanceBonus;
}
struct Action {
- bytes32 attackerEntityId;
- bytes32 defenderEntityId;
- bytes32 actionId;
- uint256 weaponId;
+ bytes32 attackerEntityId;
+ bytes32 defenderEntityId;
+ bytes32 actionId;
+ uint256 weaponId;
}
struct MagicAttackStats {
- // additional damage on top of item damage
- uint256 bonusDamage;
- // list of items that can deal this attack
- uint256[] requiredItems;
- // base armor penetration
- uint256 armorPenetration;
+ // additional damage on top of item damage
+ uint256 bonusDamage;
+ // list of items that can deal this attack
+ uint256[] requiredItems;
+ // base armor penetration
+ uint256 armorPenetration;
}
struct NPCStats {
- string name;
- bytes32[] storyPathIds;
- Alignment alignment;
+ string name;
+ bytes32[] storyPathIds;
+ Alignment alignment;
}
struct QuestEntity {
- // entity id is a keccak256(characterId, questId))
- bytes32 entityId;
- uint256 questId;
- uint256 currentStep;
+ // entity id is a keccak256(characterId, questId))
+ bytes32 entityId;
+ uint256 questId;
+ uint256 currentStep;
}
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index 4469843bd..8f99997d3 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -205,6 +205,8 @@ contract CombatSystem is System {
) {
// for some reason block.timestamp is not availible here on anvil?
encounterData.end = block.number;
+ CombatEncounter.set(encounterId, encounterData);
+ _endMatch(encounterId, randomNumber);
}
}
@@ -252,7 +254,7 @@ contract CombatSystem is System {
uint64[] memory rnChunks = LibChunks.get4Chunks(randomNumber);
(hit, crit) = _calculatePhysicalAttackModifier(
- uint256(rnChunks[1]), uint256(rnChunks[0]), attackStats, attacker, defender
+ uint256(rnChunks[0]), uint256(rnChunks[1]), attackStats, attacker, defender
);
if (hit) {
@@ -312,4 +314,14 @@ contract CombatSystem is System {
}
function _calculateMagicAttack() public {}
+
+ function _endMatch(bytes32 encounterId, uint256 randomNumber)
+ internal
+ returns (uint256[] memory itemIds, uint256[] memory amounts, uint256 goldAmount)
+ {
+ CombatEncounterData memory encounterData = CombatEncounter.get(encounterId);
+ //check dead attackers and defenders
+
+ //if dead player, drop
+ }
}
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index b81ea7321..9bb3deb13 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -45,18 +45,27 @@ contract ItemsSystem is System {
items = IERC1155System(UltimateDominionConfig.getItems());
}
- function createItem(ItemType itemType, uint256 supply, bytes memory stats, string memory itemMetadataURI)
- public
- returns (uint256)
- {
+ function createItem(
+ ItemType itemType,
+ uint256 supply,
+ uint256 dropChance,
+ bytes memory stats,
+ string memory itemMetadataURI
+ ) public returns (uint256) {
uint256 itemId = _incrementItemsCounter();
+ // create new item struct
+ ItemsData memory newItem = ItemsData({itemType: itemType, dropChance: dropChance, stats: stats});
+
+ // mint supply to this contract
IWorld(_world()).call(
_erc1155SystemId(ITEMS_NAMESPACE),
abi.encodeWithSignature("mint(address,uint256,uint256,bytes)", address(this), itemId, supply, "")
);
-
+ // see if you can guess what this is doing...
setTokenUri(itemId, itemMetadataURI);
- Items.set(itemId, itemType, stats);
+
+ // set the new item struct in the items table;
+ Items.set(itemId, newItem);
return itemId;
}
@@ -64,6 +73,7 @@ contract ItemsSystem is System {
function createItems(
ItemType[] memory itemTypes,
uint256[] memory supply,
+ uint256[] memory dropChances,
bytes[] memory stats,
string[] memory itemMetadataURIs
) public {
@@ -74,7 +84,7 @@ contract ItemsSystem is System {
);
for (uint256 i; i < len; i++) {
- createItem(itemTypes[i], supply[i], stats[i], itemMetadataURIs[i]);
+ createItem(itemTypes[i], supply[i], dropChances[i], stats[i], itemMetadataURIs[i]);
}
}
diff --git a/packages/contracts/test/ItemsSystem.t.sol b/packages/contracts/test/ItemsSystem.t.sol
index bf8f0b8e8..88becc8fc 100644
--- a/packages/contracts/test/ItemsSystem.t.sol
+++ b/packages/contracts/test/ItemsSystem.t.sol
@@ -51,11 +51,11 @@ contract Test_ItemsSystem is SetUp, GasReporter {
});
vm.startPrank(deployer);
uint256 firstItemId =
- world.UD__createItem(ItemType.Weapon, 10 ether, abi.encode(weaponStats), "test_Weapon_uri1/");
+ world.UD__createItem(ItemType.Weapon, 10 ether, 100000000, abi.encode(weaponStats), "test_Weapon_uri1/");
uint256 newItemId =
- world.UD__createItem(ItemType.Weapon, 100 ether, abi.encode(weaponStats), "test_Weapon_uri/");
+ world.UD__createItem(ItemType.Weapon, 100 ether, 100000000, abi.encode(weaponStats), "test_Weapon_uri/");
- assertEq(newItemId, 6);
+ assertEq(newItemId, 7);
assertEq(world.UD__getTotalSupply(newItemId), 100 ether);
assertEq(world.UD__getTotalSupply(firstItemId), 10 ether);
assertEq(
@@ -80,7 +80,7 @@ contract Test_ItemsSystem is SetUp, GasReporter {
});
vm.startPrank(alice);
vm.expectRevert();
- world.UD__createItem(ItemType.Weapon, 100 ether, abi.encode(weaponStats), "test_Weapon_uri1/");
+ world.UD__createItem(ItemType.Weapon, 100 ether, 100000000, abi.encode(weaponStats), "test_Weapon_uri1/");
}
function test_GetTotalSupply() public {
@@ -96,7 +96,8 @@ contract Test_ItemsSystem is SetUp, GasReporter {
strModifier: 0
});
vm.startPrank(deployer);
- uint256 id = world.UD__createItem(ItemType.Weapon, 100 ether, abi.encode(weaponStats), "test_Weapon_uri/");
+ uint256 id =
+ world.UD__createItem(ItemType.Weapon, 100 ether, 100000000, abi.encode(weaponStats), "test_Weapon_uri/");
assertEq(world.UD__getTotalSupply(id), 100 ether);
}
diff --git a/packages/contracts/test/SetUp.sol b/packages/contracts/test/SetUp.sol
index b76a4f9ff..c153625cc 100644
--- a/packages/contracts/test/SetUp.sol
+++ b/packages/contracts/test/SetUp.sol
@@ -80,7 +80,7 @@ contract SetUp is Test {
vm.label(worldAddress, "world");
vm.label(world.UD__getCharacterToken(), "character token");
- newArmorId = world.UD__createItem(ItemType.Armor, 10 ether, abi.encode(newArmor), "setup_armor_uri");
+ newArmorId = world.UD__createItem(ItemType.Armor, 10 ether, 100000000, abi.encode(newArmor), "setup_armor_uri");
world.grantAccess(_itemsSystemId("UD"), address(this));
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 816c90d02..d6eee4f93 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0xb0eb8eb2a362195dfb259990695cea53a4efa5bf"
+ "address": "0x971a5fa566bc3ca474e1f0216d0dd01edc87f096"
},
"84532": {
"address": "0x304d17a51415f9ce2a1c3d5213a10c58098b1d44",
From f9991bf2ca51f9ce92119ec949d4c8514bc24330 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Fri, 12 Jul 2024 01:10:54 -0500
Subject: [PATCH 2/8] basic gold drop calculation in place
---
packages/contracts/constants.sol | 3 ++
.../CharacterSystem.abi.json | 2 +-
.../CharacterSystem.abi.json.d.ts | 2 +-
.../CharacterSystem.sol/CharacterSystem.json | 2 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 48 ++++++++++++++-----
.../out/IWorld.sol/IWorld.abi.json.d.ts | 48 ++++++++++++++-----
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../out/MapSystem.sol/MapSystem.json | 2 +-
.../src/codegen/world/ICharacterSystem.sol | 2 +-
.../src/codegen/world/ICombatSystem.sol | 2 +
.../contracts/src/codegen/world/IWorld.sol | 2 +
.../contracts/src/systems/CharacterSystem.sol | 4 +-
.../contracts/src/systems/CombatSystem.sol | 40 +++++++++++++---
.../contracts/src/systems/EquipmentSystem.sol | 4 +-
packages/contracts/test/CombatSystem.t.sol | 5 ++
packages/contracts/worlds.json | 2 +-
16 files changed, 129 insertions(+), 41 deletions(-)
diff --git a/packages/contracts/constants.sol b/packages/contracts/constants.sol
index 50f50c5e3..e23e56964 100644
--- a/packages/contracts/constants.sol
+++ b/packages/contracts/constants.sol
@@ -15,3 +15,6 @@ uint256 constant TO_HIT_MODIFIER = 150_000;
uint256 constant DEFENSE_MODIFIER = 100_000;
uint256 constant ATTACK_MODIFIER = 100_000;
uint256 constant CRIT_MODIFIER = 2;
+
+//Gold Drop constants
+uint256 constant BASE_GOLD_DROP = 1e15; //
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
index 971a77be0..4de872c84 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
@@ -91,7 +91,7 @@
},
{
"type": "function",
- "name": "getCurrentLevel",
+ "name": "getCurrentAvailableLevel",
"inputs": [
{
"name": "experience",
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
index efe4e473d..6ae3ada59 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
@@ -91,7 +91,7 @@ declare const abi: [
},
{
"type": "function",
- "name": "getCurrentLevel",
+ "name": "getCurrentAvailableLevel",
"inputs": [
{
"name": "experience",
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
index aabe66d38..d60562cf4 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
@@ -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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061422b806100206000396000f3fe6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc5780633d0854ae116100e15780633d0854ae1461023857806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd578063238015701461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613874565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b61018636600461388d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613874565b61043f565b6040516101629190613903565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613a3e565b61045f565b604051908152602001610162565b34801561021757600080fd5b5061022b610226366004613874565b6106c1565b6040516101629190613a97565b34801561024457600080fd5b506101fd610253366004613874565b6106cc565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613874565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613874565b610755565b6102c36102be366004613aaa565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613874565b6109f9565b3480156102f157600080fd5b506102c3610300366004613ae7565b610a8e565b34801561031157600080fd5b506102c3610320366004613874565b610aff565b34801561033157600080fd5b5061014e610340366004613874565b610c31565b34801561035157600080fd5b5061014e610c3c565b34801561036657600080fd5b506101fd610375366004613874565b610c46565b34801561038657600080fd5b506101fd610395366004613874565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b61044761381e565b61043982610c51565b600061045a610d03565b905090565b60008061046a610d35565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c3c565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d68565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613b7e565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613bdc565b5061062e816109f9565b915061063a8286610db5565b6106448282610e84565b61064d84610f03565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fa8565b6106af8285611061565b6106b981846110e0565b509392505050565b600061043982611113565b60006106d860136111bd565b82106106e657506014919050565b60005b601481101561074457826106fc826111bd565b1115801561071b575082610719610714836001613c27565b6111bd565b115b156107325761072b816001613c27565b9150610744565b8061073c81613c3a565b9150506106e9565b50919050565b600061043982611239565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112cb565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613c54565b60015b15610862576107f06112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613c54565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112d5565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611367565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e8383611423565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613c71565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a40000000000000000000000000000000000000000000000000000000017905261150c565b5050505050565b600080610a046112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613c54565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611367565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110e0565b5050565b610b0881611367565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112d5565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bbc81674563918244f400006115ba565b610bc4610c3c565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bf191815260200190565b600060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b50505050610c2e816001611655565b50565b6000610439826116d9565b600061045a611776565b600061043982611780565b610c5961381e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c8f57610c8f613c99565b602090810291909101015260008080610ce87f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611812565b925092509250610cf98383836118e2565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d325750335b90565b600080610d4061195a565b90506000610d4f8260006119c2565b610d5a906001613c27565b905061043982600083611a73565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610deb57610deb613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e4a919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611bbb565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610eba57610eba613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e4a91815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f3c57610f3c613c99565b60209081029190910101526000610f947f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611c70565b9050610fa08160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fde57610fde613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161102c91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611bbb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061109757611097613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e4a91815260200190565b610afb61110c7f4368617261637465727300000000000000000000000000000000000000000000611d2d565b8383611d7a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061114c5761114c613c99565b602090810291909101015260006111a57f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611c70565b905060f881901c6002811115610fa057610fa06138cf565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111f9576111f9613c99565b60209081029190910101526000610fa07f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611c70565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127257611272613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611c70565b600061045a61195a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061130e5761130e613c99565b60209081029190910101526000610f947f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611c70565b60006113716112cb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190613c54565b6001600160a01b0316611413610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061145957611459613c99565b6020908102919091010152610e7f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561149c5761149c6138cf565b6040516020016114d7919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611bbb565b606060008061152261151d85613caf565b611dcc565b91509150816000801b03611588576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fa08285611e9c565b6115c2611f77565b6001600160a01b03166340c10f196115d984610c31565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561163957600080fd5b505af115801561164d573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061168b5761168b613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e4a91151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061171257611712613c99565b6020908102919091010152600061176b7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611c70565b60601c949350505050565b600061045a611f81565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117b9576117b9613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611c70565b6060600060606000611822611f81565b9050306001600160a01b0382160361184b5761183f878787611fc0565b935093509350506118d9565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611894908a908a908a90600401613d3b565b600060405180830381865afa1580156118b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261183f9190810190613d64565b93509350939050565b6118ea61381e565b6118f3846120c8565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611931576119316138cf565b6002811115611942576119426138cf565b90529790975250505093909252509195945050505050565b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611c70565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a0757611a07613c99565b6020026020010181815250508260001b81600181518110611a2a57611a2a613c99565b60209081029190910101526000611a6a7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611c70565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611ab457611ab4613c99565b6020026020010181815250508260001b81600181518110611ad757611ad7613c99565b602002602001018181525050611b3d7f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611b2091815260200190565b60408051601f19818403018152919052630100080160dd1b611bbb565b50505050565b6000611b5160706010613c27565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611bc5611f81565b9050306001600160a01b03821603611be957611be48686868686612136565b61164d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611c369089908990899089908990600401613dc7565b600060405180830381600087803b158015611c5057600080fd5b505af1158015611c64573d6000803e3d6000fd5b50505050505050505050565b600080611c7b611f81565b9050306001600160a01b03821603611ca157611c998686868661214b565b915050610fa0565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611cec908990899089908990600401613e0e565b602060405180830381865afa158015611d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c999190613e3d565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611db357611db3613c99565b602002602001018181525050611b3d8482600085612178565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611e2557611e25613c99565b602090810291909101015260008080611e7e7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611812565b925092509250611e8f838383612229565b9550955050505050915091565b60606000611ea8611776565b90506001600160a01b0381163003611ee9576000611ed0611ec7610d03565b60008787612241565b9350905080611ee257611ee28361237c565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611f309087908790600401613b7e565b6000604051808303816000875af1158015611f4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa09190810190613bdc565b600061045a612384565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611fbb573391505090565b919050565b6060600060606000611fd1856123e2565b9050611fde878783612405565b93506000611feb8661243e565b905080156120bd57611ffd888861247b565b935066ffffffffffffff841667ffffffffffffffff81111561202157612021613979565b6040519080825280601f01601f19166020018201604052801561204b576020820181803683370190505b5092506020830160005b828160ff1610156120ba57600061206d8b8b8461248e565b9050600061208a888460ff166028026038011c64ffffffffff1690565b9050612099826000838761250e565b6120a38185613c27565b9350505080806120b290613e56565b915050612055565b50505b505093509350939050565b6000806000806000806000806120e2896000016020015190565b60408a015160608b0151919950975060f81c6002811115612105576121056138cf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f2858561214584876125da565b8561260b565b6000611a6a61215a86866128af565b60ff858116601b0360080285901c1661217385876125da565b612905565b6000612182611f81565b9050306001600160a01b038216036121a5576121a085858585612956565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906121f0908890889088908890600401613e75565b600060405180830381600087803b15801561220a57600080fd5b505af115801561221e573d6000803e3d6000fd5b505050505050505050565b60008061223585612991565b90969095509350505050565b60006060600080612251866129a6565b90925090506001600160a01b0382166122a2578561226e87612a4a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613b7e565b806122b1576122b18689612b78565b861561231d577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061230582612bc4565b905061231a826123158b84613c27565b612c3d565b50505b60006123298760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123615761235c88888488612cd9565b61236d565b61236d88888488612d51565b90999098509650505050505050565b805160208201fd5b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611c70565b600060086123f260026020613eb4565b6123fc9190613ec7565b9190911c919050565b6060816000036124245750604080516020810190915260008152611bb4565b600061243085856128af565b9050611a6a81600085612db2565b6000600860018061245160026020613eb4565b61245b9190613eb4565b6124659190613eb4565b61246f9190613ec7565b8260ff911c1692915050565b6000611bb461248a8484612dd5565b5490565b600083836040516020016124a3929190613ede565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561259557602083106125385760208304840193506020838161253457612534613f1a565b0692505b821561259557602083900360008184101561255b5750600019600884021c612565565b50600019600882021c5b8554600886021b818451168219821617845250818411612586575050611b3d565b50600194909401939182900391015b5b602082106125b75783548152600190930192601f1990910190602001612596565b8115611b3d576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761260160ff601b83900360080287901c1683613c27565b91506001016125df565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361269557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161268893929190613f30565b60405180910390a2611b3d565b60006126a185856128af565b905060006126ae86612e2b565b905060005b81518110156127835760008282815181106126d0576126d0613c99565b602002602001015190506126fc6004826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561277a576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612747908b908b908b908b90600401613f63565b600060405180830381600087803b15801561276157600080fd5b505af1158015612775573d6000803e3d6000fd5b505050505b506001016126b3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516127b893929190613f30565b60405180910390a26127d3828565ffffffffffff1685612ed2565b60005b81518110156128a65760008282815181106127f3576127f3613c99565b6020026020010151905061281f6008826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561289d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061286a908b908b908b908b90600401613f63565b600060405180830381600087803b15801561288457600080fd5b505af1158015612898573d6000803e3d6000fd5b505050505b506001016127d6565b50505050505050565b600082826040516020016128c4929190613ede565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60006020821061292b5760208204840193506020828161292757612927613f1a565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612962858561247b565b9050600061297f828560ff166028026038011c64ffffffffff1690565b905061164d8686866000858888612ee8565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106129e0576129e0613c99565b602090810291909101015260008080612a397f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611fc0565b925092509250611e8f838383613322565b606081601081901b6000612a5d8361332e565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ab857612ab37fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613345565b612aef565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612b1657612b1183613345565b612b4d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612b5f93929190613f9c565b6040516020818303038152906040529350505050919050565b612b8282826133cb565b610afb57612b8f82612a4a565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e992919061402a565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612bfd57612bfd613c99565b60209081029190910101526000610fa07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b61214b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612c7357612c73613c99565b602002602001018181525050610e7f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612cbc91815260200190565b60408051601f19818403018152919052630100080160dd1b612136565b60006060836001600160a01b03166000612cf4858989613429565b604051612d019190614055565b60006040518083038185875af1925050503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b606091505b509097909650945050505050565b60006060836001600160a01b0316612d6a848888613429565b604051612d779190614055565b600060405180830381855af49150503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b60405160208101601f19603f84840101166040528282526106b98585858461250e565b60008282604051602001612dea929190613ede565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612e6557612e65613c99565b60209081029190910101526000612e9d7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613458565b9050610fa0612eaf8260008451613492565b613520565b60008160ff1682612ec58560581c90565b1660ff1614905092915050565b610e7f83838351612ee38560200190565b613531565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612fa8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612f6691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614071565b6000612fc3828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612fdc9190613eb4565b612fe69190613c27565b9050808214158015613008575081612ffe86886140b2565b64ffffffffff1614155b15613058576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff1611156130a9576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b60006130b68489846135f0565b905060006130c38b612e2b565b905060005b815181101561318e5760008282815181106130e5576130e5613c99565b602002602001015190506131116010826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561318557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161315297969594939291906140d7565b600060405180830381600087803b15801561316c57600080fd5b505af1158015613180573d6000803e3d6000fd5b505050505b506001016130c8565b5064ffffffffff881660005b8a60ff168160ff1610156131cd576131c1878260ff166028026038011c64ffffffffff1690565b9091019060010161319a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161320896959493929190614135565b60405180910390a2508284146132295760006132248c8c612dd5565b839055505b60006132368c8c8c61248e565b905061324a818a64ffffffffff1689612ed2565b5060005b815181101561331457600082828151811061326b5761326b613c99565b602002602001015190506132976020826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561330b57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016132d897969594939291906140d7565b600060405180830381600087803b1580156132f257600080fd5b505af1158015613306573d6000803e3d6000fd5b505050505b5060010161324e565b505050505050505050505050565b600080612235856136be565b600061333c60706010613c27565b9190911b919050565b606060005b601081101561339b576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561339b5760010161334a565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fa0565b60006134197f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836136da565b80611bb45750611bb483836136da565b606083838360405160200161344093929190614191565b60405160208183030381529060405290509392505050565b6060610fa061346885858561248e565b600061348d85613478898961247b565b9060ff166028026038011c64ffffffffff1690565b612db2565b6000818311806134a25750835182115b156134df578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906141d0565b602084016134ed8482613c27565b905060006134fb8585613eb4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bb483601560006137a3565b82156135ab576020831061355b5760208304840193506020838161355757613557613f1a565b0692505b82156135ab5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161359c575050611b3d565b50600194909401939182900391015b5b602082106135cd5780518455600190930192601f19909101906020016135ac565b8115611b3d576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff821115613634576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613666578085038201915061366e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c61299f565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061371357613713613c99565b602002602001018181525050826001600160a01b031660001b8160018151811061373f5761373f613c99565b602090810291909101015260006137977f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061214b565b9050611a6a8160f81c90565b606060006137b18560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816137d7576137d7613f1a565b04905060405193506020840160208202810160405281855260005b82811015613812578451871c8252938701936020909101906001016137f2565b50505050509392505050565b60405180610100016040528060008152602001600081526020016000600281111561384b5761384b6138cf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561388657600080fd5b5035919050565b60006020828403121561389f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb457600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c2e57634e487b7160e01b600052602160045260246000fd5b81518152602080830151908201526040820151610100820190613925816138e5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c2e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156139b8576139b8613979565b604052919050565b600067ffffffffffffffff8211156139da576139da613979565b50601f01601f191660200190565b600082601f8301126139f957600080fd5b8135613a0c613a07826139c0565b61398f565b818152846020838601011115613a2157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613a5357600080fd5b8335613a5e81613964565b925060208401359150604084013567ffffffffffffffff811115613a8157600080fd5b613a8d868287016139e8565b9150509250925092565b60208101613aa4836138e5565b91905290565b600080600060608486031215613abf57600080fd5b8335925060208401359150604084013560038110613adc57600080fd5b809150509250925092565b60008060408385031215613afa57600080fd5b82359150602083013567ffffffffffffffff811115613b1857600080fd5b613b24858286016139e8565b9150509250929050565b60005b83811015613b49578181015183820152602001613b31565b50506000910152565b60008151808452613b6a816020860160208601613b2e565b601f01601f19169290920160200192915050565b828152604060208201526000610fa06040830184613b52565b600082601f830112613ba857600080fd5b8151613bb6613a07826139c0565b818152846020838601011115613bcb57600080fd5b610fa0826020830160208701613b2e565b600060208284031215613bee57600080fd5b815167ffffffffffffffff811115613c0557600080fd5b610fa084828501613b97565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c11565b60006000198203613c4d57613c4d613c11565b5060010190565b600060208284031215613c6657600080fd5b8151611bb481613964565b838152613c7d836138e5565b826020820152606060408201526000611a6a6060830184613b52565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf75780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613d3057815187529582019590820190600101613d14565b509495945050505050565b838152606060208201526000613d546060830185613cff565b9050826040830152949350505050565b600080600060608486031215613d7957600080fd5b835167ffffffffffffffff80821115613d9157600080fd5b613d9d87838801613b97565b9450602086015193506040860151915080821115613dba57600080fd5b50613a8d86828701613b97565b85815260a060208201526000613de060a0830187613cff565b60ff861660408401528281036060840152613dfb8186613b52565b9150508260808301529695505050505050565b848152608060208201526000613e276080830186613cff565b60ff949094166040830152506060015292915050565b600060208284031215613e4f57600080fd5b5051919050565b600060ff821660ff8103613e6c57613e6c613c11565b60010192915050565b848152608060208201526000613e8e6080830186613cff565b60ff851660408401528281036060840152613ea98185613b52565b979650505050505050565b8181038181111561043957610439613c11565b808202811582820484141761043957610439613c11565b8281526000602080830184516020860160005b82811015613f0d57815184529284019290840190600101613ef1565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613f436060830186613cff565b65ffffffffffff851660208401528281036040840152610cf98185613b52565b848152608060208201526000613f7c6080830186613cff565b65ffffffffffff851660408401528281036060840152613ea98185613b52565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451613ffd816003860160208901613b2e565b80840190508160038201528451915061401d826004830160208801613b2e565b0160040195945050505050565b60408152600061403d6040830185613b52565b90506001600160a01b03831660208301529392505050565b60008251614067818460208701613b2e565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611a6a6060830184613b52565b64ffffffffff8181168382160190808211156140d0576140d0613c11565b5092915050565b87815260e0602082015260006140f060e0830189613cff565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141278185613b52565b9a9950505050505050505050565b60c08152600061414860c0830189613cff565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526141848185613b52565b9998505050505050505050565b600084516141a3818460208901613b2e565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006141e36060830186613b52565b6020830194909452506040015291905056fea2646970667358221220742a2fd45744c41e7d65d12942f110c7afad793e829dbf40f82832658ab5f6a064736f6c63430008180033","sourceMap":"1738:5941:211:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc5780633d0854ae116100e15780633d0854ae1461023857806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd578063238015701461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613874565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b61018636600461388d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613874565b61043f565b6040516101629190613903565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613a3e565b61045f565b604051908152602001610162565b34801561021757600080fd5b5061022b610226366004613874565b6106c1565b6040516101629190613a97565b34801561024457600080fd5b506101fd610253366004613874565b6106cc565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613874565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613874565b610755565b6102c36102be366004613aaa565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613874565b6109f9565b3480156102f157600080fd5b506102c3610300366004613ae7565b610a8e565b34801561031157600080fd5b506102c3610320366004613874565b610aff565b34801561033157600080fd5b5061014e610340366004613874565b610c31565b34801561035157600080fd5b5061014e610c3c565b34801561036657600080fd5b506101fd610375366004613874565b610c46565b34801561038657600080fd5b506101fd610395366004613874565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b61044761381e565b61043982610c51565b600061045a610d03565b905090565b60008061046a610d35565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c3c565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d68565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613b7e565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613bdc565b5061062e816109f9565b915061063a8286610db5565b6106448282610e84565b61064d84610f03565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fa8565b6106af8285611061565b6106b981846110e0565b509392505050565b600061043982611113565b60006106d860136111bd565b82106106e657506014919050565b60005b601481101561074457826106fc826111bd565b1115801561071b575082610719610714836001613c27565b6111bd565b115b156107325761072b816001613c27565b9150610744565b8061073c81613c3a565b9150506106e9565b50919050565b600061043982611239565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112cb565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613c54565b60015b15610862576107f06112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613c54565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112d5565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611367565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e8383611423565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613c71565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a40000000000000000000000000000000000000000000000000000000017905261150c565b5050505050565b600080610a046112cb565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613c54565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611367565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110e0565b5050565b610b0881611367565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112d5565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bbc81674563918244f400006115ba565b610bc4610c3c565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bf191815260200190565b600060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b50505050610c2e816001611655565b50565b6000610439826116d9565b600061045a611776565b600061043982611780565b610c5961381e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c8f57610c8f613c99565b602090810291909101015260008080610ce87f7462554400000000000000000000000053746174730000000000000000000000857ee1080020200120202020200000000000000000000000000000000000000000611812565b925092509250610cf98383836118e2565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d325750335b90565b600080610d4061195a565b90506000610d4f8260006119c2565b610d5a906001613c27565b905061043982600083611a73565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610deb57610deb613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e4a919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611bbb565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610eba57610eba613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e4a91815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f3c57610f3c613c99565b60209081029190910101526000610f947f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611c70565b9050610fa08160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fde57610fde613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161102c91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611bbb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061109757611097613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e4a91815260200190565b610afb61110c7f4368617261637465727300000000000000000000000000000000000000000000611d2d565b8383611d7a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061114c5761114c613c99565b602090810291909101015260006111a57f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611c70565b905060f881901c6002811115610fa057610fa06138cf565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111f9576111f9613c99565b60209081029190910101526000610fa07f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611c70565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127257611272613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611c70565b600061045a61195a565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061130e5761130e613c99565b60209081029190910101526000610f947f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611c70565b60006113716112cb565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114029190613c54565b6001600160a01b0316611413610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061145957611459613c99565b6020908102919091010152610e7f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561149c5761149c6138cf565b6040516020016114d7919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611bbb565b606060008061152261151d85613caf565b611dcc565b91509150816000801b03611588576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fa08285611e9c565b6115c2611f77565b6001600160a01b03166340c10f196115d984610c31565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561163957600080fd5b505af115801561164d573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061168b5761168b613c99565b602002602001018181525050610e7f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e4a91151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061171257611712613c99565b6020908102919091010152600061176b7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611c70565b60601c949350505050565b600061045a611f81565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117b9576117b9613c99565b60209081029190910101526000610fa07f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611c70565b6060600060606000611822611f81565b9050306001600160a01b0382160361184b5761183f878787611fc0565b935093509350506118d9565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611894908a908a908a90600401613d3b565b600060405180830381865afa1580156118b1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261183f9190810190613d64565b93509350939050565b6118ea61381e565b6118f3846120c8565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611931576119316138cf565b6002811115611942576119426138cf565b90529790975250505093909252509195945050505050565b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611c70565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a0757611a07613c99565b6020026020010181815250508260001b81600181518110611a2a57611a2a613c99565b60209081029190910101526000611a6a7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611c70565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611ab457611ab4613c99565b6020026020010181815250508260001b81600181518110611ad757611ad7613c99565b602002602001018181525050611b3d7f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611b2091815260200190565b60408051601f19818403018152919052630100080160dd1b611bbb565b50505050565b6000611b5160706010613c27565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611bc5611f81565b9050306001600160a01b03821603611be957611be48686868686612136565b61164d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611c369089908990899089908990600401613dc7565b600060405180830381600087803b158015611c5057600080fd5b505af1158015611c64573d6000803e3d6000fd5b50505050505050505050565b600080611c7b611f81565b9050306001600160a01b03821603611ca157611c998686868661214b565b915050610fa0565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611cec908990899089908990600401613e0e565b602060405180830381865afa158015611d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c999190613e3d565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611b43565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611db357611db3613c99565b602002602001018181525050611b3d8482600085612178565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611e2557611e25613c99565b602090810291909101015260008080611e7e7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611812565b925092509250611e8f838383612229565b9550955050505050915091565b60606000611ea8611776565b90506001600160a01b0381163003611ee9576000611ed0611ec7610d03565b60008787612241565b9350905080611ee257611ee28361237c565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611f309087908790600401613b7e565b6000604051808303816000875af1158015611f4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa09190810190613bdc565b600061045a612384565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611fbb573391505090565b919050565b6060600060606000611fd1856123e2565b9050611fde878783612405565b93506000611feb8661243e565b905080156120bd57611ffd888861247b565b935066ffffffffffffff841667ffffffffffffffff81111561202157612021613979565b6040519080825280601f01601f19166020018201604052801561204b576020820181803683370190505b5092506020830160005b828160ff1610156120ba57600061206d8b8b8461248e565b9050600061208a888460ff166028026038011c64ffffffffff1690565b9050612099826000838761250e565b6120a38185613c27565b9350505080806120b290613e56565b915050612055565b50505b505093509350939050565b6000806000806000806000806120e2896000016020015190565b60408a015160608b0151919950975060f81c6002811115612105576121056138cf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f2858561214584876125da565b8561260b565b6000611a6a61215a86866128af565b60ff858116601b0360080285901c1661217385876125da565b612905565b6000612182611f81565b9050306001600160a01b038216036121a5576121a085858585612956565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906121f0908890889088908890600401613e75565b600060405180830381600087803b15801561220a57600080fd5b505af115801561221e573d6000803e3d6000fd5b505050505050505050565b60008061223585612991565b90969095509350505050565b60006060600080612251866129a6565b90925090506001600160a01b0382166122a2578561226e87612a4a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613b7e565b806122b1576122b18689612b78565b861561231d577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061230582612bc4565b905061231a826123158b84613c27565b612c3d565b50505b60006123298760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123615761235c88888488612cd9565b61236d565b61236d88888488612d51565b90999098509650505050505050565b805160208201fd5b6040805160008082526020820190925260006119b87f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611c70565b600060086123f260026020613eb4565b6123fc9190613ec7565b9190911c919050565b6060816000036124245750604080516020810190915260008152611bb4565b600061243085856128af565b9050611a6a81600085612db2565b6000600860018061245160026020613eb4565b61245b9190613eb4565b6124659190613eb4565b61246f9190613ec7565b8260ff911c1692915050565b6000611bb461248a8484612dd5565b5490565b600083836040516020016124a3929190613ede565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561259557602083106125385760208304840193506020838161253457612534613f1a565b0692505b821561259557602083900360008184101561255b5750600019600884021c612565565b50600019600882021c5b8554600886021b818451168219821617845250818411612586575050611b3d565b50600194909401939182900391015b5b602082106125b75783548152600190930192601f1990910190602001612596565b8115611b3d576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761260160ff601b83900360080287901c1683613c27565b91506001016125df565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361269557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161268893929190613f30565b60405180910390a2611b3d565b60006126a185856128af565b905060006126ae86612e2b565b905060005b81518110156127835760008282815181106126d0576126d0613c99565b602002602001015190506126fc6004826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561277a576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612747908b908b908b908b90600401613f63565b600060405180830381600087803b15801561276157600080fd5b505af1158015612775573d6000803e3d6000fd5b505050505b506001016126b3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516127b893929190613f30565b60405180910390a26127d3828565ffffffffffff1685612ed2565b60005b81518110156128a65760008282815181106127f3576127f3613c99565b6020026020010151905061281f6008826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561289d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061286a908b908b908b908b90600401613f63565b600060405180830381600087803b15801561288457600080fd5b505af1158015612898573d6000803e3d6000fd5b505050505b506001016127d6565b50505050505050565b600082826040516020016128c4929190613ede565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60006020821061292b5760208204840193506020828161292757612927613f1a565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612962858561247b565b9050600061297f828560ff166028026038011c64ffffffffff1690565b905061164d8686866000858888612ee8565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106129e0576129e0613c99565b602090810291909101015260008080612a397f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611fc0565b925092509250611e8f838383613322565b606081601081901b6000612a5d8361332e565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ab857612ab37fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613345565b612aef565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612b1657612b1183613345565b612b4d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612b5f93929190613f9c565b6040516020818303038152906040529350505050919050565b612b8282826133cb565b610afb57612b8f82612a4a565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e992919061402a565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612bfd57612bfd613c99565b60209081029190910101526000610fa07f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b61214b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612c7357612c73613c99565b602002602001018181525050610e7f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612cbc91815260200190565b60408051601f19818403018152919052630100080160dd1b612136565b60006060836001600160a01b03166000612cf4858989613429565b604051612d019190614055565b60006040518083038185875af1925050503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b606091505b509097909650945050505050565b60006060836001600160a01b0316612d6a848888613429565b604051612d779190614055565b600060405180830381855af49150503d8060008114612d3e576040519150601f19603f3d011682016040523d82523d6000602084013e612d43565b60405160208101601f19603f84840101166040528282526106b98585858461250e565b60008282604051602001612dea929190613ede565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612e6557612e65613c99565b60209081029190910101526000612e9d7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613458565b9050610fa0612eaf8260008451613492565b613520565b60008160ff1682612ec58560581c90565b1660ff1614905092915050565b610e7f83838351612ee38560200190565b613531565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612fa8577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612f6691815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614071565b6000612fc3828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612fdc9190613eb4565b612fe69190613c27565b9050808214158015613008575081612ffe86886140b2565b64ffffffffff1614155b15613058576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff1611156130a9576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b60006130b68489846135f0565b905060006130c38b612e2b565b905060005b815181101561318e5760008282815181106130e5576130e5613c99565b602002602001015190506131116010826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561318557606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161315297969594939291906140d7565b600060405180830381600087803b15801561316c57600080fd5b505af1158015613180573d6000803e3d6000fd5b505050505b506001016130c8565b5064ffffffffff881660005b8a60ff168160ff1610156131cd576131c1878260ff166028026038011c64ffffffffff1690565b9091019060010161319a565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161320896959493929190614135565b60405180910390a2508284146132295760006132248c8c612dd5565b839055505b60006132368c8c8c61248e565b905061324a818a64ffffffffff1689612ed2565b5060005b815181101561331457600082828151811061326b5761326b613c99565b602002602001015190506132976020826affffffffffffffffffffff1916612eb490919063ffffffff16565b1561330b57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016132d897969594939291906140d7565b600060405180830381600087803b1580156132f257600080fd5b505af1158015613306573d6000803e3d6000fd5b505050505b5060010161324e565b505050505050505050505050565b600080612235856136be565b600061333c60706010613c27565b9190911b919050565b606060005b601081101561339b576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561339b5760010161334a565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fa0565b60006134197f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836136da565b80611bb45750611bb483836136da565b606083838360405160200161344093929190614191565b60405160208183030381529060405290509392505050565b6060610fa061346885858561248e565b600061348d85613478898961247b565b9060ff166028026038011c64ffffffffff1690565b612db2565b6000818311806134a25750835182115b156134df578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906141d0565b602084016134ed8482613c27565b905060006134fb8585613eb4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611bb483601560006137a3565b82156135ab576020831061355b5760208304840193506020838161355757613557613f1a565b0692505b82156135ab5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161359c575050611b3d565b50600194909401939182900391015b5b602082106135cd5780518455600190930192601f19909101906020016135ac565b8115611b3d576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff821115613634576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613666578085038201915061366e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c61299f565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061371357613713613c99565b602002602001018181525050826001600160a01b031660001b8160018151811061373f5761373f613c99565b602090810291909101015260006137977f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061214b565b9050611a6a8160f81c90565b606060006137b18560801c90565b90506fffffffffffffffffffffffffffffffff851660008582816137d7576137d7613f1a565b04905060405193506020840160208202810160405281855260005b82811015613812578451871c8252938701936020909101906001016137f2565b50505050509392505050565b60405180610100016040528060008152602001600081526020016000600281111561384b5761384b6138cf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561388657600080fd5b5035919050565b60006020828403121561389f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611bb457600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c2e57634e487b7160e01b600052602160045260246000fd5b81518152602080830151908201526040820151610100820190613925816138e5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c2e57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156139b8576139b8613979565b604052919050565b600067ffffffffffffffff8211156139da576139da613979565b50601f01601f191660200190565b600082601f8301126139f957600080fd5b8135613a0c613a07826139c0565b61398f565b818152846020838601011115613a2157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613a5357600080fd5b8335613a5e81613964565b925060208401359150604084013567ffffffffffffffff811115613a8157600080fd5b613a8d868287016139e8565b9150509250925092565b60208101613aa4836138e5565b91905290565b600080600060608486031215613abf57600080fd5b8335925060208401359150604084013560038110613adc57600080fd5b809150509250925092565b60008060408385031215613afa57600080fd5b82359150602083013567ffffffffffffffff811115613b1857600080fd5b613b24858286016139e8565b9150509250929050565b60005b83811015613b49578181015183820152602001613b31565b50506000910152565b60008151808452613b6a816020860160208601613b2e565b601f01601f19169290920160200192915050565b828152604060208201526000610fa06040830184613b52565b600082601f830112613ba857600080fd5b8151613bb6613a07826139c0565b818152846020838601011115613bcb57600080fd5b610fa0826020830160208701613b2e565b600060208284031215613bee57600080fd5b815167ffffffffffffffff811115613c0557600080fd5b610fa084828501613b97565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c11565b60006000198203613c4d57613c4d613c11565b5060010190565b600060208284031215613c6657600080fd5b8151611bb481613964565b838152613c7d836138e5565b826020820152606060408201526000611a6a6060830184613b52565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf75780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613d3057815187529582019590820190600101613d14565b509495945050505050565b838152606060208201526000613d546060830185613cff565b9050826040830152949350505050565b600080600060608486031215613d7957600080fd5b835167ffffffffffffffff80821115613d9157600080fd5b613d9d87838801613b97565b9450602086015193506040860151915080821115613dba57600080fd5b50613a8d86828701613b97565b85815260a060208201526000613de060a0830187613cff565b60ff861660408401528281036060840152613dfb8186613b52565b9150508260808301529695505050505050565b848152608060208201526000613e276080830186613cff565b60ff949094166040830152506060015292915050565b600060208284031215613e4f57600080fd5b5051919050565b600060ff821660ff8103613e6c57613e6c613c11565b60010192915050565b848152608060208201526000613e8e6080830186613cff565b60ff851660408401528281036060840152613ea98185613b52565b979650505050505050565b8181038181111561043957610439613c11565b808202811582820484141761043957610439613c11565b8281526000602080830184516020860160005b82811015613f0d57815184529284019290840190600101613ef1565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613f436060830186613cff565b65ffffffffffff851660208401528281036040840152610cf98185613b52565b848152608060208201526000613f7c6080830186613cff565b65ffffffffffff851660408401528281036060840152613ea98185613b52565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451613ffd816003860160208901613b2e565b80840190508160038201528451915061401d826004830160208801613b2e565b0160040195945050505050565b60408152600061403d6040830185613b52565b90506001600160a01b03831660208301529392505050565b60008251614067818460208701613b2e565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611a6a6060830184613b52565b64ffffffffff8181168382160190808211156140d0576140d0613c11565b5092915050565b87815260e0602082015260006140f060e0830189613cff565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141278185613b52565b9a9950505050505050505050565b60c08152600061414860c0830189613cff565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526141848185613b52565b9998505050505050505050565b600084516141a3818460208901613b2e565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006141e36060830186613b52565b6020830194909452506040015291905056fea2646970667358221220742a2fd45744c41e7d65d12942f110c7afad793e829dbf40f82832658ab5f6a064736f6c63430008180033","sourceMap":"1738:5941:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:144;;;;;;;;;;-1:-1:-1;2899:144:211;;;;;:::i;:::-;3032:2;3008:26;;2899:144;;;;-1:-1:-1;;;;;363:55:228;;;345:74;;333:2;318:18;2899:144:211;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:228;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:228;7553:124:211;;;;;;;;;;-1:-1:-1;7553:124:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;3819:837:211:-;;;;;;;;;;-1:-1:-1;3819:837:211;;;;;:::i;:::-;;:::i;:::-;;;4284:25:228;;;4272:2;4257:18;3819:837:211;4138:177:228;1915:129:211;;;;;;;;;;-1:-1:-1;1915:129:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5601:483::-;;;;;;;;;;-1:-1:-1;5601:483:211;;;;;:::i;:::-;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1779:130:211;;;;;;;;;;-1:-1:-1;1779:130:211;;;;;:::i;:::-;;:::i;3049:413::-;;;;;;;;;;-1:-1:-1;3049:413:211;;;;;:::i;:::-;;:::i;4662:545::-;;;;;;:::i;:::-;;:::i;:::-;;2386:266;;;;;;;;;;-1:-1:-1;2386:266:211;;;;;:::i;:::-;;:::i;6090:219::-;;;;;;;;;;-1:-1:-1;6090:219:211;;;;;:::i;:::-;;:::i;5213:382::-;;;;;;;;;;-1:-1:-1;5213:382:211;;;;;:::i;:::-;;:::i;7155:125::-;;;;;;;;;;-1:-1:-1;7155:125:211;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7417:130:211:-;;;;;;;;;;-1:-1:-1;7417:130:211;;;;;:::i;:::-;;:::i;2658:143::-;;;;;;;;;;-1:-1:-1;2658:143:211;;;;;:::i;:::-;2756:37;;;2658:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7553:124:211:-;7613:16;;:::i;:::-;7648:22;7658:11;7648:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3819:837:211:-;3929:19;3964:24;3991:28;:26;:28::i;:::-;3964:55;-1:-1:-1;4056:16:211;4037:35;;4029:83;;;;-1:-1:-1;;;4029:83:211;;5935:2:228;4029:83:211;;;5917:21:228;5974:2;5954:18;;;5947:30;6013:34;5993:18;;;5986:62;6084:5;6064:18;;;6057:33;6107:19;;4029:83:211;;;;;;;;;4129:8;:6;:8::i;:::-;-1:-1:-1;;;;;4122:21:211;;4157:37;4173:20;4157:15;:37::i;:::-;4196:65;;-1:-1:-1;;;;;6329:55:228;;4196:65:211;;;6311:74:228;6401:18;;;6394:34;;;6284:18;;4196:65:211;;;-1:-1:-1;;4196:65:211;;;;;;;;;;;;;;;;;;;;4122:149;;4196:65;4122:149;;;;;;;;;4196:65;4122:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4122:149:211;;;;;;;;;;;;:::i;:::-;;4295:35;4313:16;4295:17;:35::i;:::-;4281:49;;4340:41;4360:11;4373:7;4340:19;:41::i;:::-;4391:52;4413:11;4426:16;4391:21;:52::i;:::-;4462:25;4482:4;4462:19;:25::i;:::-;4461:26;4453:58;;;;-1:-1:-1;;;4453:58:211;;8342:2:228;4453:58:211;;;8324:21:228;8381:2;8361:18;;;8354:30;8420:21;8400:18;;;8393:49;8459:18;;4453:58:211;8140:343:228;4453:58:211;4521:31;4541:4;4547;4521:19;:31::i;:::-;4562:37;4581:11;4594:4;4562:18;:37::i;:::-;4609:40;4622:16;4640:8;4609:12;:40::i;:::-;3954:702;3819:837;;;;;:::o;1915:129::-;1975:14;2010:27;2025:11;2010:14;:27::i;5601:483::-;5667:20;5717:14;5728:2;5717:10;:14::i;:::-;5703:10;:28;5699:379;;-1:-1:-1;5762:2:211;5601:483;;;:::o;5699:379::-;5800:9;5795:273;5815:2;5811:1;:6;5795:273;;;5859:10;5842:13;5853:1;5842:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;5893:10:211;5873:17;5884:5;:1;5888;5884:5;:::i;:::-;5873:10;:17::i;:::-;:30;5842:61;5838:155;;;5942:5;:1;5946;5942:5;:::i;:::-;5927:20;;5969:5;;5838:155;6032:3;;;;:::i;:::-;;;;5795:273;;;;5601:483;;;:::o;1779:130::-;1838:13;1871:31;1890:11;1871:18;:31::i;3049:413::-;3119:4;3135:20;3158:28;3174:11;3032:2;3008:26;;2899:144;3158:28;3135:51;-1:-1:-1;2756:37:211;;;3196:15;3285:17;:15;:17::i;:::-;-1:-1:-1;;;;;3285:25:211;;3311:7;3285:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3285:34:211;;;;;;;;;;;;;;;;;;;-1:-1:-1;3285:34:211;;;;;;;;-1:-1:-1;;3285:34:211;;;;;;;;;;;;:::i;:::-;;;3281:135;;;3362:17;:15;:17::i;:::-;-1:-1:-1;;;;;3362:25:211;;3388:7;3362:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3362:34:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:44;;3320:87;3281:135;3443:12;-1:-1:-1;;;;;3432:23:211;:7;-1:-1:-1;;;;;3432:23:211;;3425:30;;;;;3049:413;;;:::o;4662:545::-;4777:33;4798:11;4777:20;:33::i;:::-;4776:34;4768:90;;;;-1:-1:-1;;;4768:90:211;;9465:2:228;4768:90:211;;;9447:21:228;9504:2;9484:18;;;9477:30;9543:34;9523:18;;;9516:62;9614:13;9594:18;;;9587:41;9645:19;;4768:90:211;9263:407:228;4768:90:211;4876:21;4885:11;4876:8;:21::i;:::-;4868:53;;;;-1:-1:-1;;;4868:53:211;;9877:2:228;4868:53:211;;;9859:21:228;9916:2;9896:18;;;9889:30;9955:21;9935:18;;;9928:49;9994:18;;4868:53:211;9675:343:228;4868:53:211;4931:26;4999:34;5014:11;5027:5;4999:14;:34::i;:::-;5090:110;5143:16;5161:11;5185;5174:23;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5174:23:211;;;;-1:-1:-1;;5174:23:211;;;;;;;;;;5108:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5108:91:211;;;;;;;;;;;;;;;;;;;;5090:17;:110::i;:::-;;4758:449;4662:545;;;:::o;2386:266::-;2460:19;2491:20;2514:17;:15;:17::i;:::-;-1:-1:-1;;;;;2514:25:211;;2540:16;2514:43;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;2514:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2623:2;2589:36;-1:-1:-1;;2589:36:211;:55;;;;;;-1:-1:-1;;2386:266:211:o;6090:219::-;6184:21;6193:11;6184:8;:21::i;:::-;6176:60;;;;-1:-1:-1;;;6176:60:211;;10654:2:228;6176:60:211;;;10636:21:228;10693:2;10673:18;;;10666:30;10732:28;10712:18;;;10705:56;10778:18;;6176:60:211;10452:350:228;6176:60:211;6246:56;2756:37;;;6293:8;6246:12;:56::i;:::-;6090:219;;:::o;5213:382::-;5278:21;5287:11;5278:8;:21::i;:::-;5270:52;;;;-1:-1:-1;;;5270:52:211;;11009:2:228;5270:52:211;;;10991:21:228;11048:2;11028:18;;;11021:30;11087:20;11067:18;;;11060:48;11125:18;;5270:52:211;10807:342:228;5270:52:211;5341:33;5362:11;5341:20;:33::i;:::-;5340:34;5332:72;;;;-1:-1:-1;;;5332:72:211;;11356:2:228;5332:72:211;;;11338:21:228;11395:2;11375:18;;;11368:30;11434:27;11414:18;;;11407:55;11479:18;;5332:72:211;11154:349:228;5332:72:211;5415:31;5425:11;5438:7;5415:9;:31::i;:::-;5494:8;:6;:8::i;:::-;-1:-1:-1;;;;;5487:38:211;;5526:11;5487:51;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5487:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5549:39;5570:11;5583:4;5549:20;:39::i;:::-;5213:382;:::o;7155:125::-;7215:7;7241:32;7261:11;7241:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7417:130:211:-;7482:7;7508:32;7528:11;7508:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;6489:347:211:-;6545:7;6564:25;6592:42;:40;:42::i;:::-;6564:70;;6644:24;6671:50;6699:17;6719:1;6671:19;:50::i;:::-;:54;;6724:1;6671:54;:::i;:::-;6644:81;;6735:61;6755:17;6774:1;6778:16;6735:19;:61::i;1094:186:219:-;1152:10;1177:100;1212:15;1240:9;1257:18;1177:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;11846:2:228;11842:15;;;;-1:-1:-1;;11838:88:228;11826:101;;11952:2;11943:12;;11697:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12304:14:228;12297:22;12292:3;12288:32;12276:45;;12346:1;12337:11;;12153:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;6315:168:211;6397:79;6418:38;6435:20;6418:16;:38::i;:::-;6458:7;6467:8;6397:20;:79::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2205:175:211:-;2255:30;2330:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;6982:167:211:-;7044:4;7083:17;:15;:17::i;:::-;:59;;;;;2756:37;;;7083:59;;;4284:25:228;-1:-1:-1;;;;;7083:25:211;;;;;;;4257:18:228;;7083:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7067:75:211;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7067:75:211;;;6982:167;-1:-1:-1;;6982:167:211:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;12691:3:228;12687:16;;;;12705:66;12683:89;12671:102;;12798:1;12789:11;;12546:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13367:98:228;13340:18;;3713:52:107;13223:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;7286:125:211:-;7361:7;:5;:7::i;:::-;-1:-1:-1;;;;;7361:12:211;;7374:21;7383:11;7374:8;:21::i;:::-;7361:43;;;;;;;;;;-1:-1:-1;;;;;6329:55:228;;;7361:43:211;;;6311:74:228;6401:18;;;6394:34;;;6284:18;;7361:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7286:125;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12304:14:228;12297:22;12292:3;12288:32;12276:45;;12346:1;12337:11;;12153:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;6842:134:211:-;6882:17;6931:37;:35;:37::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;4058:247:196;4159:16;;;4105:17;4159:16;;;;;;;;;4182:13;4198:64;1269:66;4130:45;4246:1;1398:66;4198:26;:64::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12095:19:228;;12139:2;12130:12;;11966:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;22541:12:228;22580:15;;;45340:92:45;;;22562:34:228;22632:15;;;22612:18;;;22605:43;22684:15;;22664:18;;;22657:43;22504:18;;45340:92:45;22335:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;22884:25:228;;;22957:12;22945:25;;22925:18;;;22918:53;22857:18;;45581:74:45;22711:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;24822:79:228;;2092:30:124;;;24810:92:228;2092:30:124;;24918:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:228;;;4257:18;;7664:67:24;4138:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:228:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:228;;14:180;-1:-1:-1;14:180:228:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:228;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:228;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1419:777;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:228;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:228;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:228;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:228:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:228;3037:15;-1:-1:-1;;3033:88:228;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:228:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:228;3925:18;;3912:32;;-1:-1:-1;3995:2:228;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4320:235::-;4466:2;4451:18;;4478:37;4508:6;4478:37;:::i;:::-;4524:25;;;4320:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:390::-;5416:6;5424;5477:2;5465:9;5456:7;5452:23;5448:32;5445:52;;;5493:1;5490;5483:12;5445:52;5529:9;5516:23;5506:33;;5590:2;5579:9;5575:18;5562:32;5617:18;5609:6;5606:30;5603:50;;;5649:1;5646;5639:12;5603:50;5672;5714:7;5705:6;5694:9;5690:22;5672:50;:::i;:::-;5662:60;;;5338:390;;;;;:::o;6439:250::-;6524:1;6534:113;6548:6;6545:1;6542:13;6534:113;;;6624:11;;;6618:18;6605:11;;;6598:39;6570:2;6563:10;6534:113;;;-1:-1:-1;;6681:1:228;6663:16;;6656:27;6439:250::o;6694:329::-;6735:3;6773:5;6767:12;6800:6;6795:3;6788:19;6816:76;6885:6;6878:4;6873:3;6869:14;6862:4;6855:5;6851:16;6816:76;:::i;:::-;6937:2;6925:15;-1:-1:-1;;6921:88:228;6912:98;;;;7012:4;6908:109;;6694:329;-1:-1:-1;;6694:329:228:o;7028:320::-;7235:6;7224:9;7217:25;7278:2;7273;7262:9;7258:18;7251:30;7198:4;7298:44;7338:2;7327:9;7323:18;7315:6;7298:44;:::i;7353:442::-;7406:5;7459:3;7452:4;7444:6;7440:17;7436:27;7426:55;;7477:1;7474;7467:12;7426:55;7506:6;7500:13;7537:49;7553:32;7582:2;7553:32;:::i;7537:49::-;7611:2;7602:7;7595:19;7657:3;7650:4;7645:2;7637:6;7633:15;7629:26;7626:35;7623:55;;;7674:1;7671;7664:12;7623:55;7687:77;7761:2;7754:4;7745:7;7741:18;7734:4;7726:6;7722:17;7687:77;:::i;7800:335::-;7879:6;7932:2;7920:9;7911:7;7907:23;7903:32;7900:52;;;7948:1;7945;7938:12;7900:52;7981:9;7975:16;8014:18;8006:6;8003:30;8000:50;;;8046:1;8043;8036:12;8000:50;8069:60;8121:7;8112:6;8101:9;8097:22;8069:60;:::i;8488:184::-;-1:-1:-1;;;8537:1:228;8530:88;8637:4;8634:1;8627:15;8661:4;8658:1;8651:15;8677:125;8742:9;;;8763:10;;;8760:36;;;8776:18;;:::i;8807:195::-;8846:3;-1:-1:-1;;8870:5:228;8867:77;8864:103;;8947:18;;:::i;:::-;-1:-1:-1;8994:1:228;8983:13;;8807:195::o;9007:251::-;9077:6;9130:2;9118:9;9109:7;9105:23;9101:32;9098:52;;;9146:1;9143;9136:12;9098:52;9178:9;9172:16;9197:31;9222:5;9197:31;:::i;10023:424::-;10245:6;10234:9;10227:25;10261:37;10291:6;10261:37;:::i;:::-;10334:6;10329:2;10318:9;10314:18;10307:34;10377:2;10372;10361:9;10357:18;10350:30;10208:4;10397:44;10437:2;10426:9;10422:18;10414:6;10397:44;:::i;11508:184::-;-1:-1:-1;;;11557:1:228;11550:88;11657:4;11654:1;11647:15;11681:4;11678:1;11671:15;12811:407;12894:5;12934;12928:12;12976:4;12969:5;12965:16;12959:23;13001:66;13093:2;13089;13085:11;13076:20;;13119:1;13111:6;13108:13;13105:107;;;13199:2;13193;13183:6;13180:1;13176:14;13173:1;13169:22;13165:31;13161:2;13157:40;13153:49;13144:58;;13105:107;;;;12811:407;;;:::o;13476:439::-;13529:3;13567:5;13561:12;13594:6;13589:3;13582:19;13620:4;13649;13644:3;13640:14;13633:21;;13688:4;13681:5;13677:16;13711:1;13721:169;13735:6;13732:1;13729:13;13721:169;;;13796:13;;13784:26;;13830:12;;;;13865:15;;;;13757:1;13750:9;13721:169;;;-1:-1:-1;13906:3:228;;13476:439;-1:-1:-1;;;;;13476:439:228:o;13920:468::-;14220:6;14209:9;14202:25;14263:2;14258;14247:9;14243:18;14236:30;14183:4;14283:56;14335:2;14324:9;14320:18;14312:6;14283:56;:::i;:::-;14275:64;;14375:6;14370:2;14359:9;14355:18;14348:34;13920:468;;;;;;:::o;14393:655::-;14535:6;14543;14551;14604:2;14592:9;14583:7;14579:23;14575:32;14572:52;;;14620:1;14617;14610:12;14572:52;14653:9;14647:16;14682:18;14723:2;14715:6;14712:14;14709:34;;;14739:1;14736;14729:12;14709:34;14762:60;14814:7;14805:6;14794:9;14790:22;14762:60;:::i;:::-;14752:70;;14862:2;14851:9;14847:18;14841:25;14831:35;;14912:2;14901:9;14897:18;14891:25;14875:41;;14941:2;14931:8;14928:16;14925:36;;;14957:1;14954;14947:12;14925:36;;14980:62;15034:7;15023:8;15012:9;15008:24;14980:62;:::i;15053:709::-;15423:6;15412:9;15405:25;15466:3;15461:2;15450:9;15446:18;15439:31;15386:4;15493:57;15545:3;15534:9;15530:19;15522:6;15493:57;:::i;:::-;15598:4;15590:6;15586:17;15581:2;15570:9;15566:18;15559:45;15652:9;15644:6;15640:22;15635:2;15624:9;15620:18;15613:50;15680:32;15705:6;15697;15680:32;:::i;:::-;15672:40;;;15749:6;15743:3;15732:9;15728:19;15721:35;15053:709;;;;;;;;:::o;15767:548::-;16091:6;16080:9;16073:25;16134:3;16129:2;16118:9;16114:18;16107:31;16054:4;16155:57;16207:3;16196:9;16192:19;16184:6;16155:57;:::i;:::-;16260:4;16248:17;;;;16243:2;16228:18;;16221:45;-1:-1:-1;16297:2:228;16282:18;16275:34;16147:65;15767:548;-1:-1:-1;;15767:548:228:o;16320:184::-;16390:6;16443:2;16431:9;16422:7;16418:23;16414:32;16411:52;;;16459:1;16456;16449:12;16411:52;-1:-1:-1;16482:16:228;;16320:184;-1:-1:-1;16320:184:228:o;16509:175::-;16546:3;16590:4;16583:5;16579:16;16619:4;16610:7;16607:17;16604:43;;16627:18;;:::i;:::-;16676:1;16663:15;;16509:175;-1:-1:-1;;16509:175:228:o;16689:604::-;16998:6;16987:9;16980:25;17041:3;17036:2;17025:9;17021:18;17014:31;16961:4;17068:57;17120:3;17109:9;17105:19;17097:6;17068:57;:::i;:::-;17173:4;17165:6;17161:17;17156:2;17145:9;17141:18;17134:45;17227:9;17219:6;17215:22;17210:2;17199:9;17195:18;17188:50;17255:32;17280:6;17272;17255:32;:::i;:::-;17247:40;16689:604;-1:-1:-1;;;;;;;16689:604:228:o;17625:128::-;17692:9;;;17713:11;;;17710:37;;;17727:18;;:::i;17758:168::-;17831:9;;;17862;;17879:15;;;17873:22;;17859:37;17849:71;;17900:18;;:::i;17931:640::-;18182:6;18177:3;18170:19;18152:3;18208:2;18241;18236:3;18232:12;18273:6;18267:13;18338:2;18330:6;18326:15;18359:1;18369:175;18383:6;18380:1;18377:13;18369:175;;;18446:13;;18432:28;;18482:14;;;;18519:15;;;;18405:1;18398:9;18369:175;;;-1:-1:-1;18560:5:228;;17931:640;-1:-1:-1;;;;;;;17931:640:228:o;18576:184::-;-1:-1:-1;;;18625:1:228;18618:88;18725:4;18722:1;18715:15;18749:4;18746:1;18739:15;18765:511;19016:2;19005:9;18998:21;18979:4;19042:56;19094:2;19083:9;19079:18;19071:6;19042:56;:::i;:::-;19146:14;19138:6;19134:27;19129:2;19118:9;19114:18;19107:55;19210:9;19202:6;19198:22;19193:2;19182:9;19178:18;19171:50;19238:32;19263:6;19255;19238:32;:::i;19281:616::-;19592:6;19581:9;19574:25;19635:3;19630:2;19619:9;19615:18;19608:31;19555:4;19662:57;19714:3;19703:9;19699:19;19691:6;19662:57;:::i;:::-;19767:14;19759:6;19755:27;19750:2;19739:9;19735:18;19728:55;19831:9;19823:6;19819:22;19814:2;19803:9;19799:18;19792:50;19859:32;19884:6;19876;19859:32;:::i;19902:925::-;20351:66;20343:6;20339:79;20334:3;20327:92;20309:3;20438;20470:2;20466:1;20461:3;20457:11;20450:23;20502:6;20496:13;20518:74;20585:6;20581:1;20576:3;20572:11;20565:4;20557:6;20553:17;20518:74;:::i;:::-;20620:6;20615:3;20611:16;20601:26;;20655:2;20651:1;20647:2;20643:10;20636:22;20689:6;20683:13;20667:29;;20705:75;20771:8;20767:1;20763:2;20759:10;20752:4;20744:6;20740:17;20705:75;:::i;:::-;20800:17;20819:1;20796:25;;19902:925;-1:-1:-1;;;;;19902:925:228:o;20832:339::-;21009:2;20998:9;20991:21;20972:4;21029:44;21069:2;21058:9;21054:18;21046:6;21029:44;:::i;:::-;21021:52;;-1:-1:-1;;;;;21113:6:228;21109:55;21104:2;21093:9;21089:18;21082:83;20832:339;;;;;:::o;21176:287::-;21305:3;21343:6;21337:13;21359:66;21418:6;21413:3;21406:4;21398:6;21394:17;21359:66;:::i;:::-;21441:16;;;;;21176:287;-1:-1:-1;;21176:287:228:o;21687:464::-;21934:66;21926:6;21922:79;21911:9;21904:98;22038:6;22033:2;22022:9;22018:18;22011:34;22081:2;22076;22065:9;22061:18;22054:30;21885:4;22101:44;22141:2;22130:9;22126:18;22118:6;22101:44;:::i;22156:174::-;22223:12;22255:10;;;22267;;;22251:27;;22290:11;;;22287:37;;;22304:18;;:::i;:::-;22287:37;22156:174;;;;:::o;22982:901::-;23407:6;23396:9;23389:25;23450:3;23445:2;23434:9;23430:18;23423:31;23370:4;23477:57;23529:3;23518:9;23514:19;23506:6;23477:57;:::i;:::-;23582:4;23570:17;;23565:2;23550:18;;23543:45;23607:12;23655:15;;;23650:2;23635:18;;23628:43;23708:15;;23702:3;23687:19;;23680:44;23755:3;23740:19;;23733:35;;;23805:22;;;23799:3;23784:19;;23777:51;23845:32;23809:6;23862;23845:32;:::i;:::-;23837:40;22982:901;-1:-1:-1;;;;;;;;;;22982:901:228:o;23888:788::-;24253:3;24242:9;24235:22;24216:4;24280:57;24332:3;24321:9;24317:19;24309:6;24280:57;:::i;:::-;24385:4;24377:6;24373:17;24368:2;24357:9;24353:18;24346:45;24439:14;24431:6;24427:27;24422:2;24411:9;24407:18;24400:55;24503:12;24495:6;24491:25;24486:2;24475:9;24471:18;24464:53;24554:6;24548:3;24537:9;24533:19;24526:35;24610:9;24602:6;24598:22;24592:3;24581:9;24577:19;24570:51;24638:32;24663:6;24655;24638:32;:::i;:::-;24630:40;23888:788;-1:-1:-1;;;;;;;;;23888:788:228:o;24941:530::-;25126:3;25164:6;25158:13;25180:66;25239:6;25234:3;25227:4;25219:6;25215:17;25180:66;:::i;:::-;25315:2;25311:15;;;;-1:-1:-1;;25307:88:228;25268:16;;;;25293:103;;;25423:2;25412:14;;25405:30;;;;25462:2;25451:14;;24941:530;-1:-1:-1;;24941:530:228:o;25476:359::-;25679:2;25668:9;25661:21;25642:4;25699:44;25739:2;25728:9;25724:18;25716:6;25699:44;:::i;:::-;25774:2;25759:18;;25752:34;;;;-1:-1:-1;25817:2:228;25802:18;25795:34;25691:52;25476:359;-1:-1:-1;25476:359:228:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentLevel(uint256)":"3d0854ae","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xb84abf73925cc09d3b4485612cdf6bdfb41f43e396a7cab318a092155e7c7d61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5675b9f3eac7f784fdc8dc86ab0525f4c7655fffea6bbe3058353ff6e1d9811f\",\"dweb:/ipfs/QmQHeYZixt3FtBNKrGU1xj3vxc5Cv1KeARxWX7XmNdC1Nh\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x9bfd55b66c63b1f0fee65eed47dc4f15e99488f7f4923f08221dee4dd50d3765\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://253edb2df8f17afc7e8a9822350d36b0acbfa0f21f6eadb89a5fa73ac331a93e\",\"dweb:/ipfs/QmP785ioQpxikiCQhgE6sf2k32EZ1anUYHu9ZCyGxiYKA7\"]},\"src/utils.sol\":{\"keccak256\":\"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c\",\"dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xb84abf73925cc09d3b4485612cdf6bdfb41f43e396a7cab318a092155e7c7d61","urls":["bzz-raw://5675b9f3eac7f784fdc8dc86ab0525f4c7655fffea6bbe3058353ff6e1d9811f","dweb:/ipfs/QmQHeYZixt3FtBNKrGU1xj3vxc5Cv1KeARxWX7XmNdC1Nh"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x9bfd55b66c63b1f0fee65eed47dc4f15e99488f7f4923f08221dee4dd50d3765","urls":["bzz-raw://253edb2df8f17afc7e8a9822350d36b0acbfa0f21f6eadb89a5fa73ac331a93e","dweb:/ipfs/QmP785ioQpxikiCQhgE6sf2k32EZ1anUYHu9ZCyGxiYKA7"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5","urls":["bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c","dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx"],"license":"MIT"}},"version":1},"id":211}
\ No newline at end of file
+{"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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b506142b5806100206000396000f3fe6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc57806323801570116100e1578063238015701461022b57806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd5780631ecb393f1461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e6101483660046138fe565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b610186366004613917565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b63660046138fe565b61043f565b604051610162919061398d565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613ac8565b61045f565b604051908152602001610162565b34801561021757600080fd5b506101fd6102263660046138fe565b6106c1565b34801561023757600080fd5b5061024b6102463660046138fe565b61073f565b6040516101629190613b21565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b3660046138fe565b61074a565b34801561029c57600080fd5b5061018b6102ab3660046138fe565b610755565b6102c36102be366004613b34565b610881565b005b3480156102d157600080fd5b506101fd6102e03660046138fe565b6109f9565b3480156102f157600080fd5b506102c3610300366004613b71565b610a8e565b34801561031157600080fd5b506102c36103203660046138fe565b610aff565b34801561033157600080fd5b5061014e6103403660046138fe565b610c3c565b34801561035157600080fd5b5061014e610c47565b34801561036657600080fd5b506101fd6103753660046138fe565b610c51565b34801561038657600080fd5b506101fd6103953660046138fe565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6104476138a8565b61043982610c5c565b600061045a610d0e565b905090565b60008061046a610d40565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c47565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d73565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613c08565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613c66565b5061062e816109f9565b915061063a8286610dc0565b6106448282610e8f565b61064d84610f0e565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fb3565b6106af828561106c565b6106b981846110eb565b509392505050565b60006106cd601361111e565b82106106db57506014919050565b60005b601481101561073957826106f18261111e565b1115801561071057508261070e610709836001613cb1565b61111e565b115b1561072757610720816001613cb1565b9150610739565b8061073181613cc4565b9150506106de565b50919050565b60006104398261119a565b600061043982611244565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112d6565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613cde565b60015b15610862576107f06112d6565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613cde565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112e0565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611372565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e838361142e565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613cfb565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a400000000000000000000000000000000000000000000000000000000179052611517565b5050505050565b600080610a046112d6565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613cde565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611372565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110eb565b5050565b610b0881611372565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112e0565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bb58160016115c5565b610bc781674563918244f40000611644565b610bcf610c47565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bfc91815260200190565b600060405180830381600087803b158015610c1657600080fd5b505af1158015610c2a573d6000803e3d6000fd5b50505050610c398160016116df565b50565b600061043982611763565b600061045a611800565b60006104398261180a565b610c646138a8565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c9a57610c9a613d23565b602090810291909101015260008080610cf37f7462554400000000000000000000000053746174730000000000000000000000857ee108002020012020202020000000000000000000000000000000000000000061189c565b925092509250610d0483838361196c565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d3d5750335b90565b600080610d4b6119e4565b90506000610d5a826000611a4c565b610d65906001613cb1565b905061043982600083611afd565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611bcd565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610df657610df6613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e55919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611c45565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610ec557610ec5613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e5591815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f4757610f47613d23565b60209081029190910101526000610f9f7f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611cfa565b9050610fab8160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fe957610fe9613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161103791151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611c45565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106110a2576110a2613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e5591815260200190565b610afb6111177f4368617261637465727300000000000000000000000000000000000000000000611db7565b8383611e04565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061115a5761115a613d23565b60209081029190910101526000610fab7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611cfa565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111d3576111d3613d23565b6020908102919091010152600061122c7f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611cfa565b905060f881901c6002811115610fab57610fab613959565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127d5761127d613d23565b60209081029190910101526000610fab7f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611cfa565b600061045a6119e4565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061131957611319613d23565b60209081029190910101526000610f9f7f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611cfa565b600061137c6112d6565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140d9190613cde565b6001600160a01b031661141e610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061146457611464613d23565b6020908102919091010152610e8a7f746255440000000000000000000000005374617473000000000000000000000082600285818111156114a7576114a7613959565b6040516020016114e2919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611c45565b606060008061152d61152885613d39565b611e56565b91509150816000801b03611593576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fab8285611f26565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115fb576115fb613d23565b602002602001018181525050610e8a7f746255440000000000000000000000005374617473000000000000000000000060001b826007856040516020016114e291815260200190565b61164c612001565b6001600160a01b03166340c10f1961166384610c3c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b1580156116c357600080fd5b505af11580156116d7573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061171557611715613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e5591151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061179c5761179c613d23565b602090810291909101015260006117f57f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611cfa565b60601c949350505050565b600061045a61200b565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061184357611843613d23565b60209081029190910101526000610fab7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611cfa565b60606000606060006118ac61200b565b9050306001600160a01b038216036118d5576118c987878761204a565b93509350935050611963565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061191e908a908a908a90600401613dc5565b600060405180830381865afa15801561193b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118c99190810190613dee565b93509350939050565b6119746138a8565b61197d84612152565b60e0890181905260c0890182905260a0890183905260808901849052606089018590528860208101604082018860028111156119bb576119bb613959565b60028111156119cc576119cc613959565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611a427f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611cfa565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a9157611a91613d23565b6020026020010181815250508260001b81600181518110611ab457611ab4613d23565b60209081029190910101526000611af47f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611cfa565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611b3e57611b3e613d23565b6020026020010181815250508260001b81600181518110611b6157611b61613d23565b602002602001018181525050611bc77f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611baa91815260200190565b60408051601f19818403018152919052630100080160dd1b611c45565b50505050565b6000611bdb60706010613cb1565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611c4f61200b565b9050306001600160a01b03821603611c7357611c6e86868686866121c0565b6116d7565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611cc09089908990899089908990600401613e51565b600060405180830381600087803b158015611cda57600080fd5b505af1158015611cee573d6000803e3d6000fd5b50505050505050505050565b600080611d0561200b565b9050306001600160a01b03821603611d2b57611d23868686866121d5565b915050610fab565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611d76908990899089908990600401613e98565b602060405180830381865afa158015611d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d239190613ec7565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611bcd565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611e3d57611e3d613d23565b602002602001018181525050611bc78482600085612202565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611eaf57611eaf613d23565b602090810291909101015260008080611f087f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e2402002004000000000000000000000000000000000000000000000000000061189c565b925092509250611f198383836122b3565b9550955050505050915091565b60606000611f32611800565b90506001600160a01b0381163003611f73576000611f5a611f51610d0e565b600087876122cb565b9350905080611f6c57611f6c83612406565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611fba9087908790600401613c08565b6000604051808303816000875af1158015611fd9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fab9190810190613c66565b600061045a61240e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612045573391505090565b919050565b606060006060600061205b8561246c565b905061206887878361248f565b93506000612075866124c8565b90508015612147576120878888612505565b935066ffffffffffffff841667ffffffffffffffff8111156120ab576120ab613a03565b6040519080825280601f01601f1916602001820160405280156120d5576020820181803683370190505b5092506020830160005b828160ff1610156121445760006120f78b8b84612518565b90506000612114888460ff166028026038011c64ffffffffff1690565b90506121238260008387612598565b61212d8185613cb1565b93505050808061213c90613ee0565b9150506120df565b50505b505093509350939050565b60008060008060008060008061216c896000016020015190565b60408a015160608b0151919950975060f81c600281111561218f5761218f613959565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f285856121cf8487612664565b85612695565b6000611af46121e48686612939565b60ff858116601b0360080285901c166121fd8587612664565b61298f565b600061220c61200b565b9050306001600160a01b0382160361222f5761222a858585856129e0565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061227a908890889088908890600401613eff565b600060405180830381600087803b15801561229457600080fd5b505af11580156122a8573d6000803e3d6000fd5b505050505050505050565b6000806122bf85612a1b565b90969095509350505050565b600060606000806122db86612a30565b90925090506001600160a01b03821661232c57856122f887612ad4565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613c08565b8061233b5761233b8689612c02565b86156123a7577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061238f82612c4e565b90506123a48261239f8b84613cb1565b612cc7565b50505b60006123b38760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123eb576123e688888488612d63565b6123f7565b6123f788888488612ddb565b90999098509650505050505050565b805160208201fd5b604080516000808252602082019092526000611a427f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611cfa565b6000600861247c60026020613f3e565b6124869190613f51565b9190911c919050565b6060816000036124ae5750604080516020810190915260008152611c3e565b60006124ba8585612939565b9050611af481600085612e3c565b600060086001806124db60026020613f3e565b6124e59190613f3e565b6124ef9190613f3e565b6124f99190613f51565b8260ff911c1692915050565b6000611c3e6125148484612e5f565b5490565b6000838360405160200161252d929190613f68565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561261f57602083106125c2576020830484019350602083816125be576125be613fa4565b0692505b821561261f5760208390036000818410156125e55750600019600884021c6125ef565b50600019600882021c5b8554600886021b818451168219821617845250818411612610575050611bc7565b50600194909401939182900391015b5b602082106126415783548152600190930192601f1990910190602001612620565b8115611bc7576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761268b60ff601b83900360080287901c1683613cb1565b9150600101612669565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361271f57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161271293929190613fba565b60405180910390a2611bc7565b600061272b8585612939565b9050600061273886612eb5565b905060005b815181101561280d57600082828151811061275a5761275a613d23565b602002602001015190506127866004826affffffffffffffffffffff1916612f3e90919063ffffffff16565b15612804576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906127d1908b908b908b908b90600401613fed565b600060405180830381600087803b1580156127eb57600080fd5b505af11580156127ff573d6000803e3d6000fd5b505050505b5060010161273d565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161284293929190613fba565b60405180910390a261285d828565ffffffffffff1685612f5c565b60005b815181101561293057600082828151811061287d5761287d613d23565b602002602001015190506128a96008826affffffffffffffffffffff1916612f3e90919063ffffffff16565b15612927576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906128f4908b908b908b908b90600401613fed565b600060405180830381600087803b15801561290e57600080fd5b505af1158015612922573d6000803e3d6000fd5b505050505b50600101612860565b50505050505050565b6000828260405160200161294e929190613f68565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106129b5576020820484019350602082816129b1576129b1613fa4565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b60006129ec8585612505565b90506000612a09828560ff166028026038011c64ffffffffff1690565b90506116d78686866000858888612f72565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612a6a57612a6a613d23565b602090810291909101015260008080612ac37f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061204a565b925092509250611f198383836133ac565b606081601081901b6000612ae7836133b8565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612b4257612b3d7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133cf565b612b79565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612ba057612b9b836133cf565b612bd7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612be993929190614026565b6040516020818303038152906040529350505050919050565b612c0c8282613455565b610afb57612c1982612ad4565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e99291906140b4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612c8757612c87613d23565b60209081029190910101526000610fab7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6121d5565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612cfd57612cfd613d23565b602002602001018181525050610e8a7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612d4691815260200190565b60408051601f19818403018152919052630100080160dd1b6121c0565b60006060836001600160a01b03166000612d7e8589896134b3565b604051612d8b91906140df565b60006040518083038185875af1925050503d8060008114612dc8576040519150601f19603f3d011682016040523d82523d6000602084013e612dcd565b606091505b509097909650945050505050565b60006060836001600160a01b0316612df48488886134b3565b604051612e0191906140df565b600060405180830381855af49150503d8060008114612dc8576040519150601f19603f3d011682016040523d82523d6000602084013e612dcd565b60405160208101601f19603f84840101166040528282526106b985858584612598565b60008282604051602001612e74929190613f68565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612eef57612eef613d23565b60209081029190910101526000612f277f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836134e2565b9050610fab612f39826000845161351c565b6135aa565b60008160ff1682612f4f8560581c90565b1660ff1614905092915050565b610e8a83838351612f6d8560200190565b6135bb565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613032577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612ff091815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e99392916004016140fb565b600061304d828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836130669190613f3e565b6130709190613cb1565b9050808214158015613092575081613088868861413c565b64ffffffffff1614155b156130e2576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff161115613133576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b600061314084898461367a565b9050600061314d8b612eb5565b905060005b815181101561321857600082828151811061316f5761316f613d23565b6020026020010151905061319b6010826affffffffffffffffffffff1916612f3e90919063ffffffff16565b1561320f57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016131dc9796959493929190614161565b600060405180830381600087803b1580156131f657600080fd5b505af115801561320a573d6000803e3d6000fd5b505050505b50600101613152565b5064ffffffffff881660005b8a60ff168160ff1610156132575761324b878260ff166028026038011c64ffffffffff1690565b90910190600101613224565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051613292969594939291906141bf565b60405180910390a2508284146132b35760006132ae8c8c612e5f565b839055505b60006132c08c8c8c612518565b90506132d4818a64ffffffffff1689612f5c565b5060005b815181101561339e5760008282815181106132f5576132f5613d23565b602002602001015190506133216020826affffffffffffffffffffff1916612f3e90919063ffffffff16565b1561339557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016133629796959493929190614161565b600060405180830381600087803b15801561337c57600080fd5b505af1158015613390573d6000803e3d6000fd5b505050505b506001016132d8565b505050505050505050505050565b6000806122bf85613748565b60006133c660706010613cb1565b9190911b919050565b606060005b6010811015613425576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613425576001016133d4565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fab565b60006134a37f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613764565b80611c3e5750611c3e8383613764565b60608383836040516020016134ca9392919061421b565b60405160208183030381529060405290509392505050565b6060610fab6134f2858585612518565b6000613517856135028989612505565b9060ff166028026038011c64ffffffffff1690565b612e3c565b60008183118061352c5750835182115b15613569578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e99392919061425a565b602084016135778482613cb1565b905060006135858585613f3e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611c3e836015600061382d565b821561363557602083106135e5576020830484019350602083816135e1576135e1613fa4565b0692505b82156136355760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613626575050611bc7565b50600194909401939182900391015b5b602082106136575780518455600190930192601f1990910190602001613636565b8115611bc7576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff8211156136be576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106136f057808503820191506136f8565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612a29565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061379d5761379d613d23565b602002602001018181525050826001600160a01b031660001b816001815181106137c9576137c9613d23565b602090810291909101015260006138217f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006121d5565b9050611af48160f81c90565b6060600061383b8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161386157613861613fa4565b04905060405193506020840160208202810160405281855260005b8281101561389c578451871c82529387019360209091019060010161387c565b50505050509392505050565b6040518061010001604052806000815260200160008152602001600060028111156138d5576138d5613959565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561391057600080fd5b5035919050565b60006020828403121561392957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c3e57600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c3957634e487b7160e01b600052602160045260246000fd5b815181526020808301519082015260408201516101008201906139af8161396f565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c3957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4257613a42613a03565b604052919050565b600067ffffffffffffffff821115613a6457613a64613a03565b50601f01601f191660200190565b600082601f830112613a8357600080fd5b8135613a96613a9182613a4a565b613a19565b818152846020838601011115613aab57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613add57600080fd5b8335613ae8816139ee565b925060208401359150604084013567ffffffffffffffff811115613b0b57600080fd5b613b1786828701613a72565b9150509250925092565b60208101613b2e8361396f565b91905290565b600080600060608486031215613b4957600080fd5b8335925060208401359150604084013560038110613b6657600080fd5b809150509250925092565b60008060408385031215613b8457600080fd5b82359150602083013567ffffffffffffffff811115613ba257600080fd5b613bae85828601613a72565b9150509250929050565b60005b83811015613bd3578181015183820152602001613bbb565b50506000910152565b60008151808452613bf4816020860160208601613bb8565b601f01601f19169290920160200192915050565b828152604060208201526000610fab6040830184613bdc565b600082601f830112613c3257600080fd5b8151613c40613a9182613a4a565b818152846020838601011115613c5557600080fd5b610fab826020830160208701613bb8565b600060208284031215613c7857600080fd5b815167ffffffffffffffff811115613c8f57600080fd5b610fab84828501613c21565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c9b565b60006000198203613cd757613cd7613c9b565b5060010190565b600060208284031215613cf057600080fd5b8151611c3e816139ee565b838152613d078361396f565b826020820152606060408201526000611af46060830184613bdc565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613d815780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613dba57815187529582019590820190600101613d9e565b509495945050505050565b838152606060208201526000613dde6060830185613d89565b9050826040830152949350505050565b600080600060608486031215613e0357600080fd5b835167ffffffffffffffff80821115613e1b57600080fd5b613e2787838801613c21565b9450602086015193506040860151915080821115613e4457600080fd5b50613b1786828701613c21565b85815260a060208201526000613e6a60a0830187613d89565b60ff861660408401528281036060840152613e858186613bdc565b9150508260808301529695505050505050565b848152608060208201526000613eb16080830186613d89565b60ff949094166040830152506060015292915050565b600060208284031215613ed957600080fd5b5051919050565b600060ff821660ff8103613ef657613ef6613c9b565b60010192915050565b848152608060208201526000613f186080830186613d89565b60ff851660408401528281036060840152613f338185613bdc565b979650505050505050565b8181038181111561043957610439613c9b565b808202811582820484141761043957610439613c9b565b8281526000602080830184516020860160005b82811015613f9757815184529284019290840190600101613f7b565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613fcd6060830186613d89565b65ffffffffffff851660208401528281036040840152610d048185613bdc565b8481526080602082015260006140066080830186613d89565b65ffffffffffff851660408401528281036060840152613f338185613bdc565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614087816003860160208901613bb8565b8084019050816003820152845191506140a7826004830160208801613bb8565b0160040195945050505050565b6040815260006140c76040830185613bdc565b90506001600160a01b03831660208301529392505050565b600082516140f1818460208701613bb8565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611af46060830184613bdc565b64ffffffffff81811683821601908082111561415a5761415a613c9b565b5092915050565b87815260e06020820152600061417a60e0830189613d89565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141b18185613bdc565b9a9950505050505050505050565b60c0815260006141d260c0830189613d89565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261420e8185613bdc565b9998505050505050505050565b6000845161422d818460208901613bb8565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60608152600061426d6060830186613bdc565b6020830194909452506040015291905056fea2646970667358221220cc2c999bb62d1901c8a36d533ae7900d907ca296c84edf127300cdf207faff5864736f6c63430008180033","sourceMap":"1738:5989:198:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc57806323801570116100e1578063238015701461022b57806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd5780631ecb393f1461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e6101483660046138fe565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b610186366004613917565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b63660046138fe565b61043f565b604051610162919061398d565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613ac8565b61045f565b604051908152602001610162565b34801561021757600080fd5b506101fd6102263660046138fe565b6106c1565b34801561023757600080fd5b5061024b6102463660046138fe565b61073f565b6040516101629190613b21565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b3660046138fe565b61074a565b34801561029c57600080fd5b5061018b6102ab3660046138fe565b610755565b6102c36102be366004613b34565b610881565b005b3480156102d157600080fd5b506101fd6102e03660046138fe565b6109f9565b3480156102f157600080fd5b506102c3610300366004613b71565b610a8e565b34801561031157600080fd5b506102c36103203660046138fe565b610aff565b34801561033157600080fd5b5061014e6103403660046138fe565b610c3c565b34801561035157600080fd5b5061014e610c47565b34801561036657600080fd5b506101fd6103753660046138fe565b610c51565b34801561038657600080fd5b506101fd6103953660046138fe565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6104476138a8565b61043982610c5c565b600061045a610d0e565b905090565b60008061046a610d40565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c47565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d73565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613c08565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613c66565b5061062e816109f9565b915061063a8286610dc0565b6106448282610e8f565b61064d84610f0e565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fb3565b6106af828561106c565b6106b981846110eb565b509392505050565b60006106cd601361111e565b82106106db57506014919050565b60005b601481101561073957826106f18261111e565b1115801561071057508261070e610709836001613cb1565b61111e565b115b1561072757610720816001613cb1565b9150610739565b8061073181613cc4565b9150506106de565b50919050565b60006104398261119a565b600061043982611244565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112d6565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613cde565b60015b15610862576107f06112d6565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613cde565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112e0565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611372565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e838361142e565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613cfb565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a400000000000000000000000000000000000000000000000000000000179052611517565b5050505050565b600080610a046112d6565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613cde565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611372565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110eb565b5050565b610b0881611372565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112e0565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bb58160016115c5565b610bc781674563918244f40000611644565b610bcf610c47565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bfc91815260200190565b600060405180830381600087803b158015610c1657600080fd5b505af1158015610c2a573d6000803e3d6000fd5b50505050610c398160016116df565b50565b600061043982611763565b600061045a611800565b60006104398261180a565b610c646138a8565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c9a57610c9a613d23565b602090810291909101015260008080610cf37f7462554400000000000000000000000053746174730000000000000000000000857ee108002020012020202020000000000000000000000000000000000000000061189c565b925092509250610d0483838361196c565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d3d5750335b90565b600080610d4b6119e4565b90506000610d5a826000611a4c565b610d65906001613cb1565b905061043982600083611afd565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611bcd565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610df657610df6613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e55919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611c45565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610ec557610ec5613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e5591815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f4757610f47613d23565b60209081029190910101526000610f9f7f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611cfa565b9050610fab8160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fe957610fe9613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161103791151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611c45565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106110a2576110a2613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e5591815260200190565b610afb6111177f4368617261637465727300000000000000000000000000000000000000000000611db7565b8383611e04565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061115a5761115a613d23565b60209081029190910101526000610fab7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611cfa565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111d3576111d3613d23565b6020908102919091010152600061122c7f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611cfa565b905060f881901c6002811115610fab57610fab613959565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127d5761127d613d23565b60209081029190910101526000610fab7f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611cfa565b600061045a6119e4565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061131957611319613d23565b60209081029190910101526000610f9f7f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611cfa565b600061137c6112d6565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140d9190613cde565b6001600160a01b031661141e610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061146457611464613d23565b6020908102919091010152610e8a7f746255440000000000000000000000005374617473000000000000000000000082600285818111156114a7576114a7613959565b6040516020016114e2919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611c45565b606060008061152d61152885613d39565b611e56565b91509150816000801b03611593576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fab8285611f26565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115fb576115fb613d23565b602002602001018181525050610e8a7f746255440000000000000000000000005374617473000000000000000000000060001b826007856040516020016114e291815260200190565b61164c612001565b6001600160a01b03166340c10f1961166384610c3c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b1580156116c357600080fd5b505af11580156116d7573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061171557611715613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e5591151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061179c5761179c613d23565b602090810291909101015260006117f57f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611cfa565b60601c949350505050565b600061045a61200b565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061184357611843613d23565b60209081029190910101526000610fab7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611cfa565b60606000606060006118ac61200b565b9050306001600160a01b038216036118d5576118c987878761204a565b93509350935050611963565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061191e908a908a908a90600401613dc5565b600060405180830381865afa15801561193b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118c99190810190613dee565b93509350939050565b6119746138a8565b61197d84612152565b60e0890181905260c0890182905260a0890183905260808901849052606089018590528860208101604082018860028111156119bb576119bb613959565b60028111156119cc576119cc613959565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611a427f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611cfa565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a9157611a91613d23565b6020026020010181815250508260001b81600181518110611ab457611ab4613d23565b60209081029190910101526000611af47f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611cfa565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611b3e57611b3e613d23565b6020026020010181815250508260001b81600181518110611b6157611b61613d23565b602002602001018181525050611bc77f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611baa91815260200190565b60408051601f19818403018152919052630100080160dd1b611c45565b50505050565b6000611bdb60706010613cb1565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611c4f61200b565b9050306001600160a01b03821603611c7357611c6e86868686866121c0565b6116d7565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611cc09089908990899089908990600401613e51565b600060405180830381600087803b158015611cda57600080fd5b505af1158015611cee573d6000803e3d6000fd5b50505050505050505050565b600080611d0561200b565b9050306001600160a01b03821603611d2b57611d23868686866121d5565b915050610fab565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611d76908990899089908990600401613e98565b602060405180830381865afa158015611d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d239190613ec7565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611bcd565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611e3d57611e3d613d23565b602002602001018181525050611bc78482600085612202565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611eaf57611eaf613d23565b602090810291909101015260008080611f087f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e2402002004000000000000000000000000000000000000000000000000000061189c565b925092509250611f198383836122b3565b9550955050505050915091565b60606000611f32611800565b90506001600160a01b0381163003611f73576000611f5a611f51610d0e565b600087876122cb565b9350905080611f6c57611f6c83612406565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611fba9087908790600401613c08565b6000604051808303816000875af1158015611fd9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fab9190810190613c66565b600061045a61240e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612045573391505090565b919050565b606060006060600061205b8561246c565b905061206887878361248f565b93506000612075866124c8565b90508015612147576120878888612505565b935066ffffffffffffff841667ffffffffffffffff8111156120ab576120ab613a03565b6040519080825280601f01601f1916602001820160405280156120d5576020820181803683370190505b5092506020830160005b828160ff1610156121445760006120f78b8b84612518565b90506000612114888460ff166028026038011c64ffffffffff1690565b90506121238260008387612598565b61212d8185613cb1565b93505050808061213c90613ee0565b9150506120df565b50505b505093509350939050565b60008060008060008060008061216c896000016020015190565b60408a015160608b0151919950975060f81c600281111561218f5761218f613959565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f285856121cf8487612664565b85612695565b6000611af46121e48686612939565b60ff858116601b0360080285901c166121fd8587612664565b61298f565b600061220c61200b565b9050306001600160a01b0382160361222f5761222a858585856129e0565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061227a908890889088908890600401613eff565b600060405180830381600087803b15801561229457600080fd5b505af11580156122a8573d6000803e3d6000fd5b505050505050505050565b6000806122bf85612a1b565b90969095509350505050565b600060606000806122db86612a30565b90925090506001600160a01b03821661232c57856122f887612ad4565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613c08565b8061233b5761233b8689612c02565b86156123a7577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061238f82612c4e565b90506123a48261239f8b84613cb1565b612cc7565b50505b60006123b38760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123eb576123e688888488612d63565b6123f7565b6123f788888488612ddb565b90999098509650505050505050565b805160208201fd5b604080516000808252602082019092526000611a427f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611cfa565b6000600861247c60026020613f3e565b6124869190613f51565b9190911c919050565b6060816000036124ae5750604080516020810190915260008152611c3e565b60006124ba8585612939565b9050611af481600085612e3c565b600060086001806124db60026020613f3e565b6124e59190613f3e565b6124ef9190613f3e565b6124f99190613f51565b8260ff911c1692915050565b6000611c3e6125148484612e5f565b5490565b6000838360405160200161252d929190613f68565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561261f57602083106125c2576020830484019350602083816125be576125be613fa4565b0692505b821561261f5760208390036000818410156125e55750600019600884021c6125ef565b50600019600882021c5b8554600886021b818451168219821617845250818411612610575050611bc7565b50600194909401939182900391015b5b602082106126415783548152600190930192601f1990910190602001612620565b8115611bc7576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761268b60ff601b83900360080287901c1683613cb1565b9150600101612669565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361271f57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161271293929190613fba565b60405180910390a2611bc7565b600061272b8585612939565b9050600061273886612eb5565b905060005b815181101561280d57600082828151811061275a5761275a613d23565b602002602001015190506127866004826affffffffffffffffffffff1916612f3e90919063ffffffff16565b15612804576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906127d1908b908b908b908b90600401613fed565b600060405180830381600087803b1580156127eb57600080fd5b505af11580156127ff573d6000803e3d6000fd5b505050505b5060010161273d565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161284293929190613fba565b60405180910390a261285d828565ffffffffffff1685612f5c565b60005b815181101561293057600082828151811061287d5761287d613d23565b602002602001015190506128a96008826affffffffffffffffffffff1916612f3e90919063ffffffff16565b15612927576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906128f4908b908b908b908b90600401613fed565b600060405180830381600087803b15801561290e57600080fd5b505af1158015612922573d6000803e3d6000fd5b505050505b50600101612860565b50505050505050565b6000828260405160200161294e929190613f68565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106129b5576020820484019350602082816129b1576129b1613fa4565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b60006129ec8585612505565b90506000612a09828560ff166028026038011c64ffffffffff1690565b90506116d78686866000858888612f72565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612a6a57612a6a613d23565b602090810291909101015260008080612ac37f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061204a565b925092509250611f198383836133ac565b606081601081901b6000612ae7836133b8565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612b4257612b3d7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133cf565b612b79565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612ba057612b9b836133cf565b612bd7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612be993929190614026565b6040516020818303038152906040529350505050919050565b612c0c8282613455565b610afb57612c1982612ad4565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e99291906140b4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612c8757612c87613d23565b60209081029190910101526000610fab7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6121d5565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612cfd57612cfd613d23565b602002602001018181525050610e8a7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612d4691815260200190565b60408051601f19818403018152919052630100080160dd1b6121c0565b60006060836001600160a01b03166000612d7e8589896134b3565b604051612d8b91906140df565b60006040518083038185875af1925050503d8060008114612dc8576040519150601f19603f3d011682016040523d82523d6000602084013e612dcd565b606091505b509097909650945050505050565b60006060836001600160a01b0316612df48488886134b3565b604051612e0191906140df565b600060405180830381855af49150503d8060008114612dc8576040519150601f19603f3d011682016040523d82523d6000602084013e612dcd565b60405160208101601f19603f84840101166040528282526106b985858584612598565b60008282604051602001612e74929190613f68565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612eef57612eef613d23565b60209081029190910101526000612f277f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836134e2565b9050610fab612f39826000845161351c565b6135aa565b60008160ff1682612f4f8560581c90565b1660ff1614905092915050565b610e8a83838351612f6d8560200190565b6135bb565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613032577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612ff091815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e99392916004016140fb565b600061304d828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836130669190613f3e565b6130709190613cb1565b9050808214158015613092575081613088868861413c565b64ffffffffff1614155b156130e2576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff161115613133576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b600061314084898461367a565b9050600061314d8b612eb5565b905060005b815181101561321857600082828151811061316f5761316f613d23565b6020026020010151905061319b6010826affffffffffffffffffffff1916612f3e90919063ffffffff16565b1561320f57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016131dc9796959493929190614161565b600060405180830381600087803b1580156131f657600080fd5b505af115801561320a573d6000803e3d6000fd5b505050505b50600101613152565b5064ffffffffff881660005b8a60ff168160ff1610156132575761324b878260ff166028026038011c64ffffffffff1690565b90910190600101613224565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051613292969594939291906141bf565b60405180910390a2508284146132b35760006132ae8c8c612e5f565b839055505b60006132c08c8c8c612518565b90506132d4818a64ffffffffff1689612f5c565b5060005b815181101561339e5760008282815181106132f5576132f5613d23565b602002602001015190506133216020826affffffffffffffffffffff1916612f3e90919063ffffffff16565b1561339557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016133629796959493929190614161565b600060405180830381600087803b15801561337c57600080fd5b505af1158015613390573d6000803e3d6000fd5b505050505b506001016132d8565b505050505050505050505050565b6000806122bf85613748565b60006133c660706010613cb1565b9190911b919050565b606060005b6010811015613425576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613425576001016133d4565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fab565b60006134a37f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613764565b80611c3e5750611c3e8383613764565b60608383836040516020016134ca9392919061421b565b60405160208183030381529060405290509392505050565b6060610fab6134f2858585612518565b6000613517856135028989612505565b9060ff166028026038011c64ffffffffff1690565b612e3c565b60008183118061352c5750835182115b15613569578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e99392919061425a565b602084016135778482613cb1565b905060006135858585613f3e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611c3e836015600061382d565b821561363557602083106135e5576020830484019350602083816135e1576135e1613fa4565b0692505b82156136355760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613626575050611bc7565b50600194909401939182900391015b5b602082106136575780518455600190930192601f1990910190602001613636565b8115611bc7576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff8211156136be576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106136f057808503820191506136f8565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612a29565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061379d5761379d613d23565b602002602001018181525050826001600160a01b031660001b816001815181106137c9576137c9613d23565b602090810291909101015260006138217f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006121d5565b9050611af48160f81c90565b6060600061383b8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161386157613861613fa4565b04905060405193506020840160208202810160405281855260005b8281101561389c578451871c82529387019360209091019060010161387c565b50505050509392505050565b6040518061010001604052806000815260200160008152602001600060028111156138d5576138d5613959565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561391057600080fd5b5035919050565b60006020828403121561392957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c3e57600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c3957634e487b7160e01b600052602160045260246000fd5b815181526020808301519082015260408201516101008201906139af8161396f565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c3957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4257613a42613a03565b604052919050565b600067ffffffffffffffff821115613a6457613a64613a03565b50601f01601f191660200190565b600082601f830112613a8357600080fd5b8135613a96613a9182613a4a565b613a19565b818152846020838601011115613aab57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613add57600080fd5b8335613ae8816139ee565b925060208401359150604084013567ffffffffffffffff811115613b0b57600080fd5b613b1786828701613a72565b9150509250925092565b60208101613b2e8361396f565b91905290565b600080600060608486031215613b4957600080fd5b8335925060208401359150604084013560038110613b6657600080fd5b809150509250925092565b60008060408385031215613b8457600080fd5b82359150602083013567ffffffffffffffff811115613ba257600080fd5b613bae85828601613a72565b9150509250929050565b60005b83811015613bd3578181015183820152602001613bbb565b50506000910152565b60008151808452613bf4816020860160208601613bb8565b601f01601f19169290920160200192915050565b828152604060208201526000610fab6040830184613bdc565b600082601f830112613c3257600080fd5b8151613c40613a9182613a4a565b818152846020838601011115613c5557600080fd5b610fab826020830160208701613bb8565b600060208284031215613c7857600080fd5b815167ffffffffffffffff811115613c8f57600080fd5b610fab84828501613c21565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c9b565b60006000198203613cd757613cd7613c9b565b5060010190565b600060208284031215613cf057600080fd5b8151611c3e816139ee565b838152613d078361396f565b826020820152606060408201526000611af46060830184613bdc565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613d815780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613dba57815187529582019590820190600101613d9e565b509495945050505050565b838152606060208201526000613dde6060830185613d89565b9050826040830152949350505050565b600080600060608486031215613e0357600080fd5b835167ffffffffffffffff80821115613e1b57600080fd5b613e2787838801613c21565b9450602086015193506040860151915080821115613e4457600080fd5b50613b1786828701613c21565b85815260a060208201526000613e6a60a0830187613d89565b60ff861660408401528281036060840152613e858186613bdc565b9150508260808301529695505050505050565b848152608060208201526000613eb16080830186613d89565b60ff949094166040830152506060015292915050565b600060208284031215613ed957600080fd5b5051919050565b600060ff821660ff8103613ef657613ef6613c9b565b60010192915050565b848152608060208201526000613f186080830186613d89565b60ff851660408401528281036060840152613f338185613bdc565b979650505050505050565b8181038181111561043957610439613c9b565b808202811582820484141761043957610439613c9b565b8281526000602080830184516020860160005b82811015613f9757815184529284019290840190600101613f7b565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613fcd6060830186613d89565b65ffffffffffff851660208401528281036040840152610d048185613bdc565b8481526080602082015260006140066080830186613d89565b65ffffffffffff851660408401528281036060840152613f338185613bdc565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614087816003860160208901613bb8565b8084019050816003820152845191506140a7826004830160208801613bb8565b0160040195945050505050565b6040815260006140c76040830185613bdc565b90506001600160a01b03831660208301529392505050565b600082516140f1818460208701613bb8565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611af46060830184613bdc565b64ffffffffff81811683821601908082111561415a5761415a613c9b565b5092915050565b87815260e06020820152600061417a60e0830189613d89565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141b18185613bdc565b9a9950505050505050505050565b60c0815260006141d260c0830189613d89565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261420e8185613bdc565b9998505050505050505050565b6000845161422d818460208901613bb8565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60608152600061426d6060830186613bdc565b6020830194909452506040015291905056fea2646970667358221220cc2c999bb62d1901c8a36d533ae7900d907ca296c84edf127300cdf207faff5864736f6c63430008180033","sourceMap":"1738:5989:198:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:144;;;;;;;;;;-1:-1:-1;2899:144:198;;;;;:::i;:::-;3032:2;3008:26;;2899:144;;;;-1:-1:-1;;;;;363:55:202;;;345:74;;333:2;318:18;2899:144:198;;;;;;;;2331:198:117;;;;;;;;;;-1:-1:-1;2331:198:117;;;;;:::i;:::-;;:::i;:::-;;;932:14:202;;925:22;907:41;;895:2;880:18;2331:198:117;767:187:202;7601:124:198;;;;;;;;;;-1:-1:-1;7601:124:198;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:117:-;;;;;;;;;;;;;:::i;3819:837:198:-;;;;;;;;;;-1:-1:-1;3819:837:198;;;;;:::i;:::-;;:::i;:::-;;;4284:25:202;;;4272:2;4257:18;3819:837:198;4138:177:202;5640:492:198;;;;;;;;;;-1:-1:-1;5640:492:198;;;;;:::i;:::-;;:::i;1915:129::-;;;;;;;;;;-1:-1:-1;1915:129:198;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:117:-;;;;;;;;;;-1:-1:-1;3800:14:117;-1:-1:-1;;3796:25:117;3783:39;1616:110;1262:113;1779:130:198;;;;;;;;;;-1:-1:-1;1779:130:198;;;;;:::i;:::-;;:::i;3049:413::-;;;;;;;;;;-1:-1:-1;3049:413:198;;;;;:::i;:::-;;:::i;4662:545::-;;;;;;:::i;:::-;;:::i;:::-;;2386:266;;;;;;;;;;-1:-1:-1;2386:266:198;;;;;:::i;:::-;;:::i;6138:219::-;;;;;;;;;;-1:-1:-1;6138:219:198;;;;;:::i;:::-;;:::i;5213:421::-;;;;;;;;;;-1:-1:-1;5213:421:198;;;;;:::i;:::-;;:::i;7203:125::-;;;;;;;;;;-1:-1:-1;7203:125:198;;;;;:::i;:::-;;:::i;1942:98:117:-;;;;;;;;;;;;;:::i;7465:130:198:-;;;;;;;;;;-1:-1:-1;7465:130:198;;;;;:::i;:::-;;:::i;2658:143::-;;;;;;;;;;-1:-1:-1;2658:143:198;;;;;:::i;:::-;2756:37;;;2658:143;2331:198:117;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:117;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:117:o;7601:124:198:-;7661:16;;:::i;:::-;7696:22;7706:11;7696:9;:22::i;1262:113:117:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3819:837:198:-;3929:19;3964:24;3991:28;:26;:28::i;:::-;3964:55;-1:-1:-1;4056:16:198;4037:35;;4029:83;;;;-1:-1:-1;;;4029:83:198;;5933:2:202;4029:83:198;;;5915:21:202;5972:2;5952:18;;;5945:30;6011:34;5991:18;;;5984:62;6082:5;6062:18;;;6055:33;6105:19;;4029:83:198;;;;;;;;;4129:8;:6;:8::i;:::-;-1:-1:-1;;;;;4122:21:198;;4157:37;4173:20;4157:15;:37::i;:::-;4196:65;;-1:-1:-1;;;;;6327:55:202;;4196:65:198;;;6309:74:202;6399:18;;;6392:34;;;6282:18;;4196:65:198;;;-1:-1:-1;;4196:65:198;;;;;;;;;;;;;;;;;;;;4122:149;;4196:65;4122:149;;;;;;;;;4196:65;4122:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4122:149:198;;;;;;;;;;;;:::i;:::-;;4295:35;4313:16;4295:17;:35::i;:::-;4281:49;;4340:41;4360:11;4373:7;4340:19;:41::i;:::-;4391:52;4413:11;4426:16;4391:21;:52::i;:::-;4462:25;4482:4;4462:19;:25::i;:::-;4461:26;4453:58;;;;-1:-1:-1;;;4453:58:198;;8340:2:202;4453:58:198;;;8322:21:202;8379:2;8359:18;;;8352:30;8418:21;8398:18;;;8391:49;8457:18;;4453:58:198;8138:343:202;4453:58:198;4521:31;4541:4;4547;4521:19;:31::i;:::-;4562:37;4581:11;4594:4;4562:18;:37::i;:::-;4609:40;4622:16;4640:8;4609:12;:40::i;:::-;3954:702;3819:837;;;;;:::o;5640:492::-;5715:20;5765:14;5776:2;5765:10;:14::i;:::-;5751:10;:28;5747:379;;-1:-1:-1;5810:2:198;5640:492;;;:::o;5747:379::-;5848:9;5843:273;5863:2;5859:1;:6;5843:273;;;5907:10;5890:13;5901:1;5890:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;5941:10:198;5921:17;5932:5;:1;5936;5932:5;:::i;:::-;5921:10;:17::i;:::-;:30;5890:61;5886:155;;;5990:5;:1;5994;5990:5;:::i;:::-;5975:20;;6017:5;;5886:155;6080:3;;;;:::i;:::-;;;;5843:273;;;;5640:492;;;:::o;1915:129::-;1975:14;2010:27;2025:11;2010:14;:27::i;1779:130::-;1838:13;1871:31;1890:11;1871:18;:31::i;3049:413::-;3119:4;3135:20;3158:28;3174:11;3032:2;3008:26;;2899:144;3158:28;3135:51;-1:-1:-1;2756:37:198;;;3196:15;3285:17;:15;:17::i;:::-;-1:-1:-1;;;;;3285:25:198;;3311:7;3285:34;;;;;;;;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;3285:34:198;;;;;;;;;;;;;;;;;;;-1:-1:-1;3285:34:198;;;;;;;;-1:-1:-1;;3285:34:198;;;;;;;;;;;;:::i;:::-;;;3281:135;;;3362:17;:15;:17::i;:::-;-1:-1:-1;;;;;3362:25:198;;3388:7;3362:34;;;;;;;;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;3362:34:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:44;;3320:87;3281:135;3443:12;-1:-1:-1;;;;;3432:23:198;:7;-1:-1:-1;;;;;3432:23:198;;3425:30;;;;;3049:413;;;:::o;4662:545::-;4777:33;4798:11;4777:20;:33::i;:::-;4776:34;4768:90;;;;-1:-1:-1;;;4768:90:198;;9463:2:202;4768:90:198;;;9445:21:202;9502:2;9482:18;;;9475:30;9541:34;9521:18;;;9514:62;9612:13;9592:18;;;9585:41;9643:19;;4768:90:198;9261:407:202;4768:90:198;4876:21;4885:11;4876:8;:21::i;:::-;4868:53;;;;-1:-1:-1;;;4868:53:198;;9875:2:202;4868:53:198;;;9857:21:202;9914:2;9894:18;;;9887:30;9953:21;9933:18;;;9926:49;9992:18;;4868:53:198;9673:343:202;4868:53:198;4931:26;4999:34;5014:11;5027:5;4999:14;:34::i;:::-;5090:110;5143:16;5161:11;5185;5174:23;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;5174:23:198;;;;-1:-1:-1;;5174:23:198;;;;;;;;;;5108:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5108:91:198;;;;;;;;;;;;;;;;;;;;5090:17;:110::i;:::-;;4758:449;4662:545;;;:::o;2386:266::-;2460:19;2491:20;2514:17;:15;:17::i;:::-;-1:-1:-1;;;;;2514:25:198;;2540:16;2514:43;;;;;;;;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;2514:43:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2623:2;2589:36;-1:-1:-1;;2589:36:198;:55;;;;;;-1:-1:-1;;2386:266:198:o;6138:219::-;6232:21;6241:11;6232:8;:21::i;:::-;6224:60;;;;-1:-1:-1;;;6224:60:198;;10651:2:202;6224:60:198;;;10633:21:202;10690:2;10670:18;;;10663:30;10729:28;10709:18;;;10702:56;10775:18;;6224:60:198;10449:350:202;6224:60:198;6294:56;2756:37;;;6341:8;6294:12;:56::i;:::-;6138:219;;:::o;5213:421::-;5278:21;5287:11;5278:8;:21::i;:::-;5270:52;;;;-1:-1:-1;;;5270:52:198;;11006:2:202;5270:52:198;;;10988:21:202;11045:2;11025:18;;;11018:30;11084:20;11064:18;;;11057:48;11122:18;;5270:52:198;10804:342:202;5270:52:198;5341:33;5362:11;5341:20;:33::i;:::-;5340:34;5332:72;;;;-1:-1:-1;;;5332:72:198;;11353:2:202;5332:72:198;;;11335:21:202;11392:2;11372:18;;;11365:30;11431:27;11411:18;;;11404:55;11476:18;;5332:72:198;11151:349:202;5332:72:198;5414:30;5429:11;5442:1;5414:14;:30::i;:::-;5454:31;5464:11;5477:7;5454:9;:31::i;:::-;5533:8;:6;:8::i;:::-;-1:-1:-1;;;;;5526:38:198;;5565:11;5526:51;;;;;;;;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;5526:51:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5588:39;5609:11;5622:4;5588:20;:39::i;:::-;5213:421;:::o;7203:125::-;7263:7;7289:32;7309:11;7289:19;:32::i;1942:98:117:-;1981:7;2003:32;:30;:32::i;7465:130:198:-;7530:7;7556:32;7576:11;7556:19;:32::i;13270:402:183:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:183;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:183:o;2992:383:117:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:117;3325:45;2992:383;:::o;6537:347:198:-;6593:7;6612:25;6640:42;:40;:42::i;:::-;6612:70;;6692:24;6719:50;6747:17;6767:1;6719:19;:50::i;:::-;:54;;6772:1;6719:54;:::i;:::-;6692:81;;6783:61;6803:17;6822:1;6826:16;6783:19;:61::i;1094:186:200:-;1152:10;1177:100;1212:15;1240:9;1257:18;1177:25;:100::i;4730:249:167:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:167;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;11843:2:202;11839:15;;;;-1:-1:-1;;11835:88:202;11823:101;;11949:2;11940:12;;11694:264;4934:25:167;;;;-1:-1:-1;;4934:25:167;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:167;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;2594:287:178;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:178;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:178:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:178;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12301:14:202;12294:22;12289:3;12285:32;12273:45;;12343:1;12334:11;;12150:201;4085:25:178;;;;-1:-1:-1;;4085:25:178;;;;;;;;;1198:66;4034:26;:91::i;5941:246:167:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:167;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;6363:168:198;6445:79;6466:38;6483:20;6466:16;:38::i;:::-;6506:7;6515:8;6445:20;:79::i;3297:296:172:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:172;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:172;:64::i;5624:288:183:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:183;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:183;;;;5878:29;;;;;;;;:::i;5306:279:167:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:167;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2205:175:198:-;2255:30;2330:42;:40;:42::i;6512:295:167:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:167;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7030:167:198:-;7092:4;7131:17;:15;:17::i;:::-;:59;;;;;2756:37;;;7131:59;;;4284:25:202;-1:-1:-1;;;;;7131:25:198;;;;;;;4257:18:202;;7131:59:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7115:75:198;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7115:75:198;;;7030:167;-1:-1:-1;;7030:167:198:o;6279:248:183:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:183;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;12688:3:202;12684:16;;;;12702:66;12680:89;12668:102;;12795:1;12786:11;;12543:260;6477:30:183;;;;-1:-1:-1;;6477:30:183;;;;;;;;;1439:66;6426:26;:96::i;3318:662:101:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13364:98:202;13337:18;;3713:52:101;13220:248:202;3668:97:101;1759:4:22;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:101;3900:8;3936;3883:4;:92::i;12697:243:183:-;12792:16;;;12806:1;12792:16;;;;;;;;;12763:26;;12792:16;;;;;;;;;;;-1:-1:-1;12792:16:183;12763:45;;12829:8;12814:9;12824:1;12814:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;12844:91;1310:66;1294:83;;12881:9;12892:1;12913:5;12895:25;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;7334:125:198;7409:7;:5;:7::i;:::-;-1:-1:-1;;;;;7409:12:198;;7422:21;7431:11;7422:8;:21::i;:::-;7409:43;;;;;;;;;;-1:-1:-1;;;;;6327:55:202;;;7409:43:198;;;6309:74:202;6399:18;;;6392:34;;;6282:18;;7409:43:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7334:125;;:::o;7183:249:167:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:167;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12301:14:202;12294:22;12289:3;12285:32;12273:45;;12343:1;12334:11;;12150:201;4071:290:167;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:167;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:167:o;4048:97:117:-;4089:7;4111:29;:27;:29::i;10773:294:183:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:183;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:45:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:45;-1:-1:-1;;;;;15578:30:45;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:45;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:45;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:183:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:183;;;;-1:-1:-1;17879:370:183;;;-1:-1:-1;;;;;17879:370:183:o;5147:257:184:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:184:o;2640:388:169:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:169;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:169;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:169;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:169:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:169;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:169;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;4646:27:169;;;;-1:-1:-1;;4646:27:169;;;;;;;;;-1:-1:-1;;;4595:26:169;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:118:-;1133:10;1262:26;438:6;451:5:40;1262:26:118;:::i;:::-;-1:-1:-1;;1244:13:118;;:45;;451:5:40;1208:31:118;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:118;;;;;;:::o;10761:455:45:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:45;-1:-1:-1;;;;;10984:30:45;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:45;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:45;-1:-1:-1;;;;;17998:30:45;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:45;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:89:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:88:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:88;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:127:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:127;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:101:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:101;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:101;-1:-1:-1;2409:177:101;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:101;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:101;;;;;;;;;;;;:::i;6890:134:198:-;6930:17;6979:37;:35;:37::i;1836:227:45:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:45;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:45:o;32759:1315:44:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:44;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:23;;;33532:33:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:44;-1:-1:-1;33518:47:44;-1:-1:-1;894:4:39;884:15;;33573:21:44;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:44;33808:25;:14;33831:1;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:44;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:183:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:22;35423:4;35409:27;35403:34;;35277:170;17276:26:183;35409:27:22;;;35403:34;35409:27;;;35403:34;17268:35:183;;-1:-1:-1;35403:34:22;-1:-1:-1;17382:33:183;;17374:42;;;;;;;;:::i;:::-;35409:27:22;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:183;;;;17366:50;;35403:34:22;;;;-1:-1:-1;35403:34:22;-1:-1:-1;35403:34:22;;-1:-1:-1;35403:34:22;-1:-1:-1;16961:760:183;-1:-1:-1;;16961:760:183:o;23107:355:44:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:24;:27;579:1:51;4322:44:24;4288:79;;;4275:93;36635:63:44;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:45:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:45;-1:-1:-1;;;;;11771:30:45;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:45;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:127:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:127;-1:-1:-1;;;;8363:236:127:o;1761:1386:115:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:115;-1:-1:-1;;;;;;2067:27:115;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:118;2955:46;;696:18:138;2954:74:118;2432:22:115;2515:26;2954:74:118;2515:13:115;:26::i;:::-;2490:51;-1:-1:-1;2549:50:115;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:40;2637:44:118;;2539:148;2681:23:115;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:115;-1:-1:-1;;;;;;;1761:1386:115:o;348:217:136:-;551:6;545:13;538:4;530:6;526:17;519:40;4058:247:184;4159:16;;;4105:17;4159:16;;;;;;;;;4182:13;4198:64;1269:66;4130:45;4246:1;1398:66;4198:26;:64::i;4598:171:24:-;4672:7;579:1:51;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:24;;;;;4598:171;-1:-1:-1;4598:171:24:o;48823:360:44:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:44;;;;;;;;;-1:-1:-1;48986:9:44;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:24:-;5451:7;579:1:51;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:24;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:24:o;53939:303:44:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:43;;4605:137;52742:274:44;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:43:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:51;804:25:52;;782:48;6806:135:43;;;-1:-1:-1;;;579:1:51;804:25:52;;782:48;6806:135:43;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:43;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:43;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:51;804:25:52;;782:48;8389:20:43;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:43;;;;:::o;51823:242:44:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:24;4323:19;:27;;;579:1:51;4322:44:24;4288:79;;;4275:93;52003:32:44;;:::i;:::-;;-1:-1:-1;51990:3:44;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:53;17798:4:44;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:25;;;;;17851:54:44;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:44;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:53;18455:4:44;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:25;;;;;18507:53:44;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:44;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:44;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:44:o;8945:812:43:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:43;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:44:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:44;24551:49;24403:106;24582:17;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:44;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:127:-;35423:4:22;35409:27;;35403:34;35409:27;;;35403:34;8028:19:127;;8173:26;8147:53;;7963:242;;;:::o;5928:433:133:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:133;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:118:-;3550:13;3620:10;451:5:40;2637:44:118;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:118;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:118;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:102:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:126:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:126;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:126;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:126;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;5279:27:126;;;;-1:-1:-1;;5279:27:126;;;;;;;;;-1:-1:-1;;;5230:24:126;:91::i;5594:317:117:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:117;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:117;;;;-1:-1:-1;5594:317:117;-1:-1:-1;;;;;5594:317:117:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:117;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5042:669:43;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:43;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:44:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:44;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:44:o;3658:342:49:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:49;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:25:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:43:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::39;884:15;;758:151;1098:24:43;1055:5;:68::i;44254:4001:44:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;44775:25:44;;;;-1:-1:-1;;44775:25:44;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:44;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:44;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;22538:12:202;22577:15;;;45340:92:44;;;22559:34:202;22629:15;;;22609:18;;;22602:43;22681:15;;22661:18;;;22654:43;22501:18;;45340:92:44;22332:371:202;45221:218:44;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;22881:25:202;;;22954:12;22942:25;;22922:18;;;22915:53;22854:18;;45581:74:44;22708:266:202;45522:140:44;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:53;46104:4:44;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:25;;;;-1:-1:-1;;;;;46158:55:44;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:44;;46014:486;;;-1:-1:-1;46558:32:44;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:44;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:43;;;-1:-1:-1;47216:248:44;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:53;47858:4:44;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:25;;;;-1:-1:-1;;;;;47911:54:44;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:44;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:133:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:118:-;3228:7;3292:26;438:6;451:5:40;3292:26:118;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:118:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:118;;3261:1:22;3257:13;;3253:24;2007:42:118;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;24819:79:202;;2092:30:118;;;24807:92:202;2092:30:118;;24915:12:202;;;;2092:30:118;;;875:21:22;;;2092:30:118;2142:39;760:164:22;955:327:102;1036:4;1178:56;696:18:138;578:36:118;2955:46;;2954:74;1227:6:102;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:117:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;37180:522:44:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:44;37440:12;:257::i;2003:574:42:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:42;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:42:o;40103:220:55:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:43:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:51;804:25:52;;782:48;2208:18:43;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:43;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:43;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:51;804:25:52;;782:48;3761:21:43;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:43;;;;:::o;7468:1525:23:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:202;;;4257:18;;7664:67:23;4138:177:202;7618:120:23;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:23;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:23;;;;;:::o;7448:223:133:-;35423:4:22;35409:27;;35403:34;35409:27;;;35403:34;7564:35:133;;;;;;7513:14;;7631:33;;7623:42;6862:97:178;4006:378:130;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:130;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:130;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:178;6862:97;2681:1129:57;2801:22;2831:21;2855;:11;2997:3:42;2975:25;;2901:104;2855:21:57;2831:45;-1:-1:-1;692:17:42;3238:38;;2882:20:57;3044:11;3238:38:42;3044:11:57;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:202:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:202;;14:180;-1:-1:-1;14:180:202:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:202;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:202;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1419:777;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:202;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:202;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:202;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:202:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:202;3037:15;-1:-1:-1;;3033:88:202;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:202:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:202;3925:18;;3912:32;;-1:-1:-1;3995:2:202;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:234::-;4832:2;4817:18;;4844:37;4874:6;4844:37;:::i;:::-;4890:25;;;4687:234;:::o;4926:405::-;5016:6;5024;5032;5085:2;5073:9;5064:7;5060:23;5056:32;5053:52;;;5101:1;5098;5091:12;5053:52;5137:9;5124:23;5114:33;;5194:2;5183:9;5179:18;5166:32;5156:42;;5248:2;5237:9;5233:18;5220:32;5281:1;5274:5;5271:12;5261:40;;5297:1;5294;5287:12;5261:40;5320:5;5310:15;;;4926:405;;;;;:::o;5336:390::-;5414:6;5422;5475:2;5463:9;5454:7;5450:23;5446:32;5443:52;;;5491:1;5488;5481:12;5443:52;5527:9;5514:23;5504:33;;5588:2;5577:9;5573:18;5560:32;5615:18;5607:6;5604:30;5601:50;;;5647:1;5644;5637:12;5601:50;5670;5712:7;5703:6;5692:9;5688:22;5670:50;:::i;:::-;5660:60;;;5336:390;;;;;:::o;6437:250::-;6522:1;6532:113;6546:6;6543:1;6540:13;6532:113;;;6622:11;;;6616:18;6603:11;;;6596:39;6568:2;6561:10;6532:113;;;-1:-1:-1;;6679:1:202;6661:16;;6654:27;6437:250::o;6692:329::-;6733:3;6771:5;6765:12;6798:6;6793:3;6786:19;6814:76;6883:6;6876:4;6871:3;6867:14;6860:4;6853:5;6849:16;6814:76;:::i;:::-;6935:2;6923:15;-1:-1:-1;;6919:88:202;6910:98;;;;7010:4;6906:109;;6692:329;-1:-1:-1;;6692:329:202:o;7026:320::-;7233:6;7222:9;7215:25;7276:2;7271;7260:9;7256:18;7249:30;7196:4;7296:44;7336:2;7325:9;7321:18;7313:6;7296:44;:::i;7351:442::-;7404:5;7457:3;7450:4;7442:6;7438:17;7434:27;7424:55;;7475:1;7472;7465:12;7424:55;7504:6;7498:13;7535:49;7551:32;7580:2;7551:32;:::i;7535:49::-;7609:2;7600:7;7593:19;7655:3;7648:4;7643:2;7635:6;7631:15;7627:26;7624:35;7621:55;;;7672:1;7669;7662:12;7621:55;7685:77;7759:2;7752:4;7743:7;7739:18;7732:4;7724:6;7720:17;7685:77;:::i;7798:335::-;7877:6;7930:2;7918:9;7909:7;7905:23;7901:32;7898:52;;;7946:1;7943;7936:12;7898:52;7979:9;7973:16;8012:18;8004:6;8001:30;7998:50;;;8044:1;8041;8034:12;7998:50;8067:60;8119:7;8110:6;8099:9;8095:22;8067:60;:::i;8486:184::-;-1:-1:-1;;;8535:1:202;8528:88;8635:4;8632:1;8625:15;8659:4;8656:1;8649:15;8675:125;8740:9;;;8761:10;;;8758:36;;;8774:18;;:::i;8805:195::-;8844:3;-1:-1:-1;;8868:5:202;8865:77;8862:103;;8945:18;;:::i;:::-;-1:-1:-1;8992:1:202;8981:13;;8805:195::o;9005:251::-;9075:6;9128:2;9116:9;9107:7;9103:23;9099:32;9096:52;;;9144:1;9141;9134:12;9096:52;9176:9;9170:16;9195:31;9220:5;9195:31;:::i;10021:423::-;10242:6;10231:9;10224:25;10258:37;10288:6;10258:37;:::i;:::-;10331:6;10326:2;10315:9;10311:18;10304:34;10374:2;10369;10358:9;10354:18;10347:30;10205:4;10394:44;10434:2;10423:9;10419:18;10411:6;10394:44;:::i;11505:184::-;-1:-1:-1;;;11554:1:202;11547:88;11654:4;11651:1;11644:15;11678:4;11675:1;11668:15;12808:407;12891:5;12931;12925:12;12973:4;12966:5;12962:16;12956:23;12998:66;13090:2;13086;13082:11;13073:20;;13116:1;13108:6;13105:13;13102:107;;;13196:2;13190;13180:6;13177:1;13173:14;13170:1;13166:22;13162:31;13158:2;13154:40;13150:49;13141:58;;13102:107;;;;12808:407;;;:::o;13473:439::-;13526:3;13564:5;13558:12;13591:6;13586:3;13579:19;13617:4;13646;13641:3;13637:14;13630:21;;13685:4;13678:5;13674:16;13708:1;13718:169;13732:6;13729:1;13726:13;13718:169;;;13793:13;;13781:26;;13827:12;;;;13862:15;;;;13754:1;13747:9;13718:169;;;-1:-1:-1;13903:3:202;;13473:439;-1:-1:-1;;;;;13473:439:202:o;13917:468::-;14217:6;14206:9;14199:25;14260:2;14255;14244:9;14240:18;14233:30;14180:4;14280:56;14332:2;14321:9;14317:18;14309:6;14280:56;:::i;:::-;14272:64;;14372:6;14367:2;14356:9;14352:18;14345:34;13917:468;;;;;;:::o;14390:655::-;14532:6;14540;14548;14601:2;14589:9;14580:7;14576:23;14572:32;14569:52;;;14617:1;14614;14607:12;14569:52;14650:9;14644:16;14679:18;14720:2;14712:6;14709:14;14706:34;;;14736:1;14733;14726:12;14706:34;14759:60;14811:7;14802:6;14791:9;14787:22;14759:60;:::i;:::-;14749:70;;14859:2;14848:9;14844:18;14838:25;14828:35;;14909:2;14898:9;14894:18;14888:25;14872:41;;14938:2;14928:8;14925:16;14922:36;;;14954:1;14951;14944:12;14922:36;;14977:62;15031:7;15020:8;15009:9;15005:24;14977:62;:::i;15050:709::-;15420:6;15409:9;15402:25;15463:3;15458:2;15447:9;15443:18;15436:31;15383:4;15490:57;15542:3;15531:9;15527:19;15519:6;15490:57;:::i;:::-;15595:4;15587:6;15583:17;15578:2;15567:9;15563:18;15556:45;15649:9;15641:6;15637:22;15632:2;15621:9;15617:18;15610:50;15677:32;15702:6;15694;15677:32;:::i;:::-;15669:40;;;15746:6;15740:3;15729:9;15725:19;15718:35;15050:709;;;;;;;;:::o;15764:548::-;16088:6;16077:9;16070:25;16131:3;16126:2;16115:9;16111:18;16104:31;16051:4;16152:57;16204:3;16193:9;16189:19;16181:6;16152:57;:::i;:::-;16257:4;16245:17;;;;16240:2;16225:18;;16218:45;-1:-1:-1;16294:2:202;16279:18;16272:34;16144:65;15764:548;-1:-1:-1;;15764:548:202:o;16317:184::-;16387:6;16440:2;16428:9;16419:7;16415:23;16411:32;16408:52;;;16456:1;16453;16446:12;16408:52;-1:-1:-1;16479:16:202;;16317:184;-1:-1:-1;16317:184:202:o;16506:175::-;16543:3;16587:4;16580:5;16576:16;16616:4;16607:7;16604:17;16601:43;;16624:18;;:::i;:::-;16673:1;16660:15;;16506:175;-1:-1:-1;;16506:175:202:o;16686:604::-;16995:6;16984:9;16977:25;17038:3;17033:2;17022:9;17018:18;17011:31;16958:4;17065:57;17117:3;17106:9;17102:19;17094:6;17065:57;:::i;:::-;17170:4;17162:6;17158:17;17153:2;17142:9;17138:18;17131:45;17224:9;17216:6;17212:22;17207:2;17196:9;17192:18;17185:50;17252:32;17277:6;17269;17252:32;:::i;:::-;17244:40;16686:604;-1:-1:-1;;;;;;;16686:604:202:o;17622:128::-;17689:9;;;17710:11;;;17707:37;;;17724:18;;:::i;17755:168::-;17828:9;;;17859;;17876:15;;;17870:22;;17856:37;17846:71;;17897:18;;:::i;17928:640::-;18179:6;18174:3;18167:19;18149:3;18205:2;18238;18233:3;18229:12;18270:6;18264:13;18335:2;18327:6;18323:15;18356:1;18366:175;18380:6;18377:1;18374:13;18366:175;;;18443:13;;18429:28;;18479:14;;;;18516:15;;;;18402:1;18395:9;18366:175;;;-1:-1:-1;18557:5:202;;17928:640;-1:-1:-1;;;;;;;17928:640:202:o;18573:184::-;-1:-1:-1;;;18622:1:202;18615:88;18722:4;18719:1;18712:15;18746:4;18743:1;18736:15;18762:511;19013:2;19002:9;18995:21;18976:4;19039:56;19091:2;19080:9;19076:18;19068:6;19039:56;:::i;:::-;19143:14;19135:6;19131:27;19126:2;19115:9;19111:18;19104:55;19207:9;19199:6;19195:22;19190:2;19179:9;19175:18;19168:50;19235:32;19260:6;19252;19235:32;:::i;19278:616::-;19589:6;19578:9;19571:25;19632:3;19627:2;19616:9;19612:18;19605:31;19552:4;19659:57;19711:3;19700:9;19696:19;19688:6;19659:57;:::i;:::-;19764:14;19756:6;19752:27;19747:2;19736:9;19732:18;19725:55;19828:9;19820:6;19816:22;19811:2;19800:9;19796:18;19789:50;19856:32;19881:6;19873;19856:32;:::i;19899:925::-;20348:66;20340:6;20336:79;20331:3;20324:92;20306:3;20435;20467:2;20463:1;20458:3;20454:11;20447:23;20499:6;20493:13;20515:74;20582:6;20578:1;20573:3;20569:11;20562:4;20554:6;20550:17;20515:74;:::i;:::-;20617:6;20612:3;20608:16;20598:26;;20652:2;20648:1;20644:2;20640:10;20633:22;20686:6;20680:13;20664:29;;20702:75;20768:8;20764:1;20760:2;20756:10;20749:4;20741:6;20737:17;20702:75;:::i;:::-;20797:17;20816:1;20793:25;;19899:925;-1:-1:-1;;;;;19899:925:202:o;20829:339::-;21006:2;20995:9;20988:21;20969:4;21026:44;21066:2;21055:9;21051:18;21043:6;21026:44;:::i;:::-;21018:52;;-1:-1:-1;;;;;21110:6:202;21106:55;21101:2;21090:9;21086:18;21079:83;20829:339;;;;;:::o;21173:287::-;21302:3;21340:6;21334:13;21356:66;21415:6;21410:3;21403:4;21395:6;21391:17;21356:66;:::i;:::-;21438:16;;;;;21173:287;-1:-1:-1;;21173:287:202:o;21684:464::-;21931:66;21923:6;21919:79;21908:9;21901:98;22035:6;22030:2;22019:9;22015:18;22008:34;22078:2;22073;22062:9;22058:18;22051:30;21882:4;22098:44;22138:2;22127:9;22123:18;22115:6;22098:44;:::i;22153:174::-;22220:12;22252:10;;;22264;;;22248:27;;22287:11;;;22284:37;;;22301:18;;:::i;:::-;22284:37;22153:174;;;;:::o;22979:901::-;23404:6;23393:9;23386:25;23447:3;23442:2;23431:9;23427:18;23420:31;23367:4;23474:57;23526:3;23515:9;23511:19;23503:6;23474:57;:::i;:::-;23579:4;23567:17;;23562:2;23547:18;;23540:45;23604:12;23652:15;;;23647:2;23632:18;;23625:43;23705:15;;23699:3;23684:19;;23677:44;23752:3;23737:19;;23730:35;;;23802:22;;;23796:3;23781:19;;23774:51;23842:32;23806:6;23859;23842:32;:::i;:::-;23834:40;22979:901;-1:-1:-1;;;;;;;;;;22979:901:202:o;23885:788::-;24250:3;24239:9;24232:22;24213:4;24277:57;24329:3;24318:9;24314:19;24306:6;24277:57;:::i;:::-;24382:4;24374:6;24370:17;24365:2;24354:9;24350:18;24343:45;24436:14;24428:6;24424:27;24419:2;24408:9;24404:18;24397:55;24500:12;24492:6;24488:25;24483:2;24472:9;24468:18;24461:53;24551:6;24545:3;24534:9;24530:19;24523:35;24607:9;24599:6;24595:22;24589:3;24578:9;24574:19;24567:51;24635:32;24660:6;24652;24635:32;:::i;:::-;24627:40;23885:788;-1:-1:-1;;;;;;;;;23885:788:202:o;24938:530::-;25123:3;25161:6;25155:13;25177:66;25236:6;25231:3;25224:4;25216:6;25212:17;25177:66;:::i;:::-;25312:2;25308:15;;;;-1:-1:-1;;25304:88:202;25265:16;;;;25290:103;;;25420:2;25409:14;;25402:30;;;;25459:2;25448:14;;24938:530;-1:-1:-1;;24938:530:202:o;25473:359::-;25676:2;25665:9;25658:21;25639:4;25696:44;25736:2;25725:9;25721:18;25713:6;25696:44;:::i;:::-;25771:2;25756:18;;25749:34;;;;-1:-1:-1;25814:2:202;25799:18;25792:34;25688:52;25473:359;-1:-1:-1;25473:359:202:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0\",\"dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0xfc85a0b615631dc5cfa9fefb0ef067e158019cf8d7836a8eafc1b4a0a3888907\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d55df21afe9e4517492081158714ea00bb33cf5ee06b0861ddda1d5cf06b7f56\",\"dweb:/ipfs/QmWoZThPDga5cs28BSkHGw173WwQRMVC14kEHZQcSb5t2z\"]},\"src/utils.sol\":{\"keccak256\":\"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c\",\"dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf","urls":["bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0","dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0xfc85a0b615631dc5cfa9fefb0ef067e158019cf8d7836a8eafc1b4a0a3888907","urls":["bzz-raw://d55df21afe9e4517492081158714ea00bb33cf5ee06b0861ddda1d5cf06b7f56","dweb:/ipfs/QmWoZThPDga5cs28BSkHGw173WwQRMVC14kEHZQcSb5t2z"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5","urls":["bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c","dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index 462e30725..eaec4d9d7 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -138,6 +138,30 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__calculateGoldDrop",
+ "inputs": [
+ {
+ "name": "mobLevel",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "randomNumber",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "dropAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__checkRequirements",
@@ -592,30 +616,30 @@
},
{
"type": "function",
- "name": "UD__getCurrentItemsCounter",
- "inputs": [],
- "outputs": [
+ "name": "UD__getCurrentAvailableLevel",
+ "inputs": [
{
- "name": "",
+ "name": "experience",
"type": "uint256",
"internalType": "uint256"
}
],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getCurrentLevel",
- "inputs": [
+ "outputs": [
{
- "name": "experience",
+ "name": "currentLevel",
"type": "uint256",
"internalType": "uint256"
}
],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getCurrentItemsCounter",
+ "inputs": [],
"outputs": [
{
- "name": "currentLevel",
+ "name": "",
"type": "uint256",
"internalType": "uint256"
}
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index fc3fe695a..61efabd48 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -138,6 +138,30 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__calculateGoldDrop",
+ "inputs": [
+ {
+ "name": "mobLevel",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "randomNumber",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "dropAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__checkRequirements",
@@ -592,30 +616,30 @@ declare const abi: [
},
{
"type": "function",
- "name": "UD__getCurrentItemsCounter",
- "inputs": [],
- "outputs": [
+ "name": "UD__getCurrentAvailableLevel",
+ "inputs": [
{
- "name": "",
+ "name": "experience",
"type": "uint256",
"internalType": "uint256"
}
],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getCurrentLevel",
- "inputs": [
+ "outputs": [
{
- "name": "experience",
+ "name": "currentLevel",
"type": "uint256",
"internalType": "uint256"
}
],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "UD__getCurrentItemsCounter",
+ "inputs": [],
"outputs": [
{
- "name": "currentLevel",
+ "name": "",
"type": "uint256",
"internalType": "uint256"
}
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index d79adc293..e20076ffa 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256),bytes32,bytes32,uint256,uint256)":"fa760cc5","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentItemsCounter()":"4652f280","UD__getCurrentLevel(uint256)":"e83e2af9","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"}},"version":1},"id":205}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__calculateGoldDrop","inputs":[{"name":"mobLevel","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"dropAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256),bytes32,bytes32,uint256,uint256)":"fa760cc5","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__calculateGoldDrop(uint256,uint256)":"c3505171","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentAvailableLevel(uint256)":"d453e623","UD__getCurrentItemsCounter()":"4652f280","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0\",\"dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"mobLevel","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateGoldDrop","outputs":[{"internalType":"uint256","name":"dropAmount","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf","urls":["bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0","dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"}},"version":1},"id":206}
\ No newline at end of file
diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json
index 9241dd2d7..da4caec26 100644
--- a/packages/contracts/out/MapSystem.sol/MapSystem.json
+++ b/packages/contracts/out/MapSystem.sol/MapSystem.json
@@ -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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220a4ad18fa52194998f62789e684994ac718fcb2044aaa2714aaf327304a6a611964736f6c63430008180033","sourceMap":"412:4148:215:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220a4ad18fa52194998f62789e684994ac718fcb2044aaa2714aaf327304a6a611964736f6c63430008180033","sourceMap":"412:4148:215:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:228;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:228;;;689:74;;677:2;662:18;1262:113:123;543:226:228;1755:239:215;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:228;;1401:2;1386:18;1616:110:123;1267:177:228;1580:169:215;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:215:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:215:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:215;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:215;;1279:70;;;;-1:-1:-1;;;1279:70:215;;2807:2:228;1279:70:215;;;2789:21:228;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:215;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:215;;3212:2:228;1360:67:215;;;3194:21:228;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:215;3010:349:228;1360:67:215;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:215;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:215;;605:69;;;;-1:-1:-1;;;605:69:215;;3566:2:228;605:69:215;;;3548:21:228;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:215;3364:399:228;605:69:215;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:215;;3970:2:228;685:62:215;;;3952:21:228;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:215;3768:345:228;685:62:215;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:215;;4320:2:228;885:37:215;;;4302:21:228;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:215;4118:339:228;885:37:215;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:215;;4664:2:228;932:38:215;;;4646:21:228;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:215;4462:339:228;932:38:215;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:215;;5008:2:228;980:91:215;;;4990:21:228;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:215;4806:354:228;980:91:215;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:228;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:228;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:228;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:228;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:215:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:215;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:215:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:215;;7009:2:228;4393:63:215;;;6991:21:228;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:215;6807:355:228;4393:63:215;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:215;;7369:2:228;2296:80:215;;;7351:21:228;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:215;7167:403:228;2296:80:215;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:228;;1401:2;1386:18;;1267:177;2515:42:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:215;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:228;2594:9:215;;:20;;1386:18:228;;2594:38:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:215;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:228;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:215;;;;-1:-1:-1;;2754:148:215;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:215;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:215:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:228;18911:18;;3713:52:107;18794:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:215:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:215;;3609:106;-1:-1:-1;3609:106:215:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:228;25536:15;;;45340:92:45;;;25518:34:228;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:228;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:228;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:228;;51494:30:45;27964:279:228;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:228;;;1386:18;;7664:67:24;1267:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:228;30142:79;;2092:30:124;;;30130:92:228;2092:30:124;;30238:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:228;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:228;;1710:439;-1:-1:-1;;;;;1710:439:228:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:228;;2420:180;-1:-1:-1;2420:180:228:o;5165:184::-;-1:-1:-1;;;5214:1:228;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:228;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:228;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:228;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:228;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:228;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:228;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:228;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:228;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:228;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:228;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:228:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:228;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:228:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:228:o;10716:184::-;-1:-1:-1;;;10765:1:228;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:228:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:228;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:228;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:228;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:228;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:228:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:228;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:228:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:228;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:228:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:228;;15702:184;-1:-1:-1;15702:184:228:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:228:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:228:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:228;;21043:640;-1:-1:-1;;;;;;;21043:640:228:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:228:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:228:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:228:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:228;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:228:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:228:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be\",\"dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f\",\"dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716\",\"dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x1f74fcddfb3a505df05f58350e537f5e950533d3f592f1a55122414d0dfef6ff","urls":["bzz-raw://2c6464153d9a6c53201aaae87355bea23b2639d8e055cb1f285054dd1a0cd1be","dweb:/ipfs/QmRsjTtsueP1XDPx1tVBUiMZ2wkzCJRNvr3nSf5HJYDbSS"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x2ead73df82281c903367ba132f2640014a75514fca5046de539e4df9976b7383","urls":["bzz-raw://0ab3bf9ddd81454fab3a82c1e4a2ffa6dd57c16ed7ca6ef8005e295203c37f7f","dweb:/ipfs/QmVHnpBw3okaaykVTkmDLGWJfLgYX3uMM3ArS6irpaTBUD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x4b0aa51a1eb9484871d72cec76f865300d063be25f82575eefae8ba3fdad207e","urls":["bzz-raw://dc01c3835dfbc8ecfbeb01c4b42f659fafd366be3502280311826bddb40b6716","dweb:/ipfs/QmeeC5KUgTva3sxsCXBi2qxi9Mc19CfRy2aGynZNNDPK7Y"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":215}
\ No newline at end of file
+{"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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212209f970bff027fc4bfc7b70335db8c165a4d5d501c03fcb2be76db5c30d02a61da64736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212209f970bff027fc4bfc7b70335db8c165a4d5d501c03fcb2be76db5c30d02a61da64736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:229;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:229;;;689:74;;677:2;662:18;1262:113:123;543:226:229;1755:239:217;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:229;;1401:2;1386:18;1616:110:123;1267:177:229;1580:169:217;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:217:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:217:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:217;;1279:70;;;;-1:-1:-1;;;1279:70:217;;2807:2:229;1279:70:217;;;2789:21:229;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:217;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:217;;3212:2:229;1360:67:217;;;3194:21:229;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:217;3010:349:229;1360:67:217;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:217;;605:69;;;;-1:-1:-1;;;605:69:217;;3566:2:229;605:69:217;;;3548:21:229;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:217;3364:399:229;605:69:217;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:217;;3970:2:229;685:62:217;;;3952:21:229;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:217;3768:345:229;685:62:217;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:217;;4320:2:229;885:37:217;;;4302:21:229;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:217;4118:339:229;885:37:217;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:217;;4664:2:229;932:38:217;;;4646:21:229;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:217;4462:339:229;932:38:217;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:217;;5008:2:229;980:91:217;;;4990:21:229;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:217;4806:354:229;980:91:217;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:229;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:229;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:229;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:229;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:217:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:217;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:217:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:217;;7009:2:229;4393:63:217;;;6991:21:229;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:217;6807:355:229;4393:63:217;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:217;;7369:2:229;2296:80:217;;;7351:21:229;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:217;7167:403:229;2296:80:217;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:229;;1401:2;1386:18;;1267:177;2515:42:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:217;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:229;2594:9:217;;:20;;1386:18:229;;2594:38:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:217;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:229;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:217;;;;-1:-1:-1;;2754:148:217;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:217;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:217:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:229;18911:18;;3713:52:107;18794:248:229;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:217:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:217;;3609:106;-1:-1:-1;3609:106:217:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:229;25536:15;;;45340:92:45;;;25518:34:229;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:229;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:229;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:229;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:229;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:229;;51494:30:45;27964:279:229;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:229;;;1386:18;;7664:67:24;1267:177:229;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:229;30142:79;;2092:30:124;;;30130:92:229;2092:30:124;;30238:12:229;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:229;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:229;;1710:439;-1:-1:-1;;;;;1710:439:229:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:229;;2420:180;-1:-1:-1;2420:180:229:o;5165:184::-;-1:-1:-1;;;5214:1:229;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:229;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:229;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:229;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:229;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:229;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:229;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:229;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:229;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:229;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:229;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:229:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:229;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:229:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:229:o;10716:184::-;-1:-1:-1;;;10765:1:229;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:229:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:229;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:229;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:229;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:229;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:229:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:229;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:229:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:229;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:229:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:229;;15702:184;-1:-1:-1;15702:184:229:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:229:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:229:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:229;;21043:640;-1:-1:-1;;;;;;;21043:640:229:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:229:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:229:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:229:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:229;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:229:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:229:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0\",\"dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf","urls":["bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0","dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":217}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index 45aba8d8b..78f513d7a 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -34,7 +34,7 @@ interface ICharacterSystem {
function UD__enterGame(bytes32 characterId) external;
- function UD__getCurrentLevel(uint256 experience) external view returns (uint256 currentLevel);
+ function UD__getCurrentAvailableLevel(uint256 experience) external view returns (uint256 currentLevel);
function UD__updateTokenUri(bytes32 characterId, string memory tokenUri) external;
diff --git a/packages/contracts/src/codegen/world/ICombatSystem.sol b/packages/contracts/src/codegen/world/ICombatSystem.sol
index 3bc332177..8df309ab1 100644
--- a/packages/contracts/src/codegen/world/ICombatSystem.sol
+++ b/packages/contracts/src/codegen/world/ICombatSystem.sol
@@ -48,4 +48,6 @@ interface ICombatSystem {
function UD__getEncounter(bytes32 encounterId) external view returns (CombatEncounterData memory _encounterData);
function UD___calculateMagicAttack() external;
+
+ function UD__calculateGoldDrop(uint256 mobLevel, uint256 randomNumber) external returns (uint256 dropAmount);
}
diff --git a/packages/contracts/src/codegen/world/IWorld.sol b/packages/contracts/src/codegen/world/IWorld.sol
index fa6951fa6..f54982249 100644
--- a/packages/contracts/src/codegen/world/IWorld.sol
+++ b/packages/contracts/src/codegen/world/IWorld.sol
@@ -10,6 +10,7 @@ import { ICharacterSystem } from "./ICharacterSystem.sol";
import { ICombatSystem } from "./ICombatSystem.sol";
import { IEquipmentSystem } from "./IEquipmentSystem.sol";
import { IItemsSystem } from "./IItemsSystem.sol";
+import { ILootManagerSystem } from "./ILootManagerSystem.sol";
import { IMapSystem } from "./IMapSystem.sol";
import { IMobSystem } from "./IMobSystem.sol";
import { IUltimateDominionConfigSystem } from "./IUltimateDominionConfigSystem.sol";
@@ -28,6 +29,7 @@ interface IWorld is
ICombatSystem,
IEquipmentSystem,
IItemsSystem,
+ ILootManagerSystem,
IMapSystem,
IMobSystem,
IUltimateDominionConfigSystem
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index 0412cd579..7a0b23388 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -114,7 +114,7 @@ contract CharacterSystem is System {
function enterGame(bytes32 characterId) public {
require(_isOwner(characterId), "not your character");
require(!Characters.getLocked(characterId), "you have entered the game");
-
+ Stats.setLevel(characterId, 1);
issueGold(characterId, 5 ether);
// issue starterWeapon
IWorld(_world()).UD__issueStarterItems(characterId);
@@ -122,7 +122,7 @@ contract CharacterSystem is System {
Characters.setLocked(characterId, true);
}
- function getCurrentLevel(uint256 experience) public view returns (uint256 currentLevel) {
+ function getCurrentAvailableLevel(uint256 experience) public view returns (uint256 currentLevel) {
if (experience >= Levels.get(19)) {
currentLevel = 20;
} else {
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index 8f99997d3..c68e90fba 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -35,7 +35,12 @@ import {_requireOwner, _requireAccess} from "../utils.sol";
import {UltimateDominionConfig} from "@codegen/index.sol";
import {IRngSystem} from "../interfaces/IRngSystem.sol";
import {
- DEFAULT_MAX_TURNS, TO_HIT_MODIFIER, DEFENSE_MODIFIER, ATTACK_MODIFIER, CRIT_MODIFIER
+ DEFAULT_MAX_TURNS,
+ TO_HIT_MODIFIER,
+ DEFENSE_MODIFIER,
+ ATTACK_MODIFIER,
+ CRIT_MODIFIER,
+ BASE_GOLD_DROP
} from "../../constants.sol";
import "forge-std/console2.sol";
@@ -244,11 +249,11 @@ contract CombatSystem is System {
uint256 randomNumber
) public returns (int256 damage, bool hit, bool crit) {
// get attacker
- AdjustedCombatStats memory attacker = IWorld(_world()).UD__applyEquipmentBonuses(attackerId);
+ AdjustedCombatStats memory attacker = world().UD__applyEquipmentBonuses(attackerId);
//get defender
- AdjustedCombatStats memory defender = IWorld(_world()).UD__applyEquipmentBonuses(defenderId);
+ AdjustedCombatStats memory defender = world().UD__applyEquipmentBonuses(defenderId);
// get weapon stats
- WeaponStats memory weapon = IWorld(_world()).UD__getWeaponStats(weaponId);
+ WeaponStats memory weapon = world().UD__getWeaponStats(weaponId);
if (defender.currentHp > 0) {
uint64[] memory rnChunks = LibChunks.get4Chunks(randomNumber);
@@ -320,8 +325,31 @@ contract CombatSystem is System {
returns (uint256[] memory itemIds, uint256[] memory amounts, uint256 goldAmount)
{
CombatEncounterData memory encounterData = CombatEncounter.get(encounterId);
- //check dead attackers and defenders
+ // check dead attackers and defenders
+ uint256 cumulativeAttackerLevels;
+ for (uint256 i; i < encounterData.attackers.length; i++) {
+ cumulativeAttackerLevels += Stats.getLevel(encounterData.attackers[i]);
+ }
+
+ //if cumulative attacker levels is >= 5 levels above the monster level no gold reward.
+ // for this calculation level is calculated from exp not from actual leveled levels
+ uint256 goldDrop;
+ for (uint256 i; i < encounterData.defenders.length; i++) {
+ uint256 mobLevel = Stats.getLevel(encounterData.defenders[i]);
+ goldDrop += calculateGoldDrop(mobLevel, randomNumber);
+ }
+ // drop gold reward calculated from the level of mob to player journey wallet (can mint tokens when he returns to 0,0).
+
+ // if dead player, drop transfer 50% of un-banked gold to world contract
+ }
+
+ function calculateGoldDrop(uint256 mobLevel, uint256 randomNumber) public returns (uint256 dropAmount) {
+ // Calculate level-based drop
+
+ dropAmount = randomNumber % (BASE_GOLD_DROP * mobLevel);
+ }
- //if dead player, drop
+ function world() internal returns (IWorld world) {
+ return IWorld(_world());
}
}
diff --git a/packages/contracts/src/systems/EquipmentSystem.sol b/packages/contracts/src/systems/EquipmentSystem.sol
index a4c9a7023..2b8023128 100644
--- a/packages/contracts/src/systems/EquipmentSystem.sol
+++ b/packages/contracts/src/systems/EquipmentSystem.sol
@@ -99,7 +99,7 @@ contract EquipmentSystem is System {
if (uint8(itemData.itemType) == 0) {
WeaponStats memory weaponStats = abi.decode(itemData.stats, (WeaponStats));
- bool isLevel = IWorld(_world()).UD__getCurrentLevel(character.experience) >= weaponStats.minLevel;
+ bool isLevel = character.level >= weaponStats.minLevel;
bool isClass;
if (weaponStats.classRestrictions.length > 0) {
for (uint256 i; i < weaponStats.classRestrictions.length;) {
@@ -118,7 +118,7 @@ contract EquipmentSystem is System {
}
if (uint8(itemData.itemType) == 1) {
ArmorStats memory armorStats = abi.decode(itemData.stats, (ArmorStats));
- bool isLevel = IWorld(_world()).UD__getCurrentLevel(character.experience) >= armorStats.minLevel;
+ bool isLevel = character.level >= armorStats.minLevel;
bool isClass;
if (armorStats.classRestrictions.length > 0) {
for (uint256 i; i < armorStats.classRestrictions.length;) {
diff --git a/packages/contracts/test/CombatSystem.t.sol b/packages/contracts/test/CombatSystem.t.sol
index d8f9c3863..16e1c02f5 100644
--- a/packages/contracts/test/CombatSystem.t.sol
+++ b/packages/contracts/test/CombatSystem.t.sol
@@ -89,4 +89,9 @@ contract Test_CombatSystem is SetUp, GasReporter {
vm.expectRevert("COMBAT SYSTEM: NON-COMBATANT");
world.UD__endTurn{value: fees}(matchId, bobCharacterId, actions);
}
+
+ function test_CalculateGoldDrop() public {
+ uint256 goldDrop = world.UD__calculateGoldDrop(1, uint256(keccak256("thingy")));
+ console2.log(goldDrop);
+ }
}
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index d6eee4f93..82156af55 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0x971a5fa566bc3ca474e1f0216d0dd01edc87f096"
+ "address": "0x566f79ddacda6c02e2e6b4bbaa5ee843961b76c2"
},
"84532": {
"address": "0x304d17a51415f9ce2a1c3d5213a10c58098b1d44",
From 3efa32a09a6d5b3fe38100b84b41b021363c8866 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Sun, 14 Jul 2024 03:05:57 -0500
Subject: [PATCH 3/8] moved all lot drop functions to loot manager and now gold
and exp is dropped when match ends
---
.../CharacterSystem.abi.json | 37 +++++++++++++
.../CharacterSystem.abi.json.d.ts | 37 +++++++++++++
.../CharacterSystem.sol/CharacterSystem.json | 2 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 54 +++++++++++++++++++
.../out/IWorld.sol/IWorld.abi.json.d.ts | 54 +++++++++++++++++++
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../out/MapSystem.sol/MapSystem.json | 2 +-
packages/contracts/script/PostDeploy.s.sol | 7 ++-
.../src/codegen/world/IItemsSystem.sol | 4 --
.../world/IUltimateDominionConfigSystem.sol | 2 +
.../contracts/src/systems/CharacterSystem.sol | 14 ++---
.../contracts/src/systems/CombatSystem.sol | 43 +++++++++++----
.../contracts/src/systems/ItemsSystem.sol | 31 ++++-------
.../systems/UltimateDominionConfigSystem.sol | 7 +++
packages/contracts/src/utils.sol | 13 +++--
packages/contracts/test/CombatSystem.t.sol | 17 ++++--
packages/contracts/test/SetUp.sol | 6 +--
packages/contracts/test/mocks/MockEntropy.sol | 4 +-
packages/contracts/worlds.json | 2 +-
19 files changed, 276 insertions(+), 62 deletions(-)
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
index 4de872c84..240197529 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
@@ -372,6 +372,43 @@
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "event",
+ "name": "Store_SetRecord",
+ "inputs": [
+ {
+ "name": "tableId",
+ "type": "bytes32",
+ "indexed": true,
+ "internalType": "ResourceId"
+ },
+ {
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "indexed": false,
+ "internalType": "bytes32[]"
+ },
+ {
+ "name": "staticData",
+ "type": "bytes",
+ "indexed": false,
+ "internalType": "bytes"
+ },
+ {
+ "name": "encodedLengths",
+ "type": "bytes32",
+ "indexed": false,
+ "internalType": "EncodedLengths"
+ },
+ {
+ "name": "dynamicData",
+ "type": "bytes",
+ "indexed": false,
+ "internalType": "bytes"
+ }
+ ],
+ "anonymous": false
+ },
{
"type": "event",
"name": "Store_SpliceDynamicData",
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
index 6ae3ada59..02df23f8f 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
@@ -372,6 +372,43 @@ declare const abi: [
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "event",
+ "name": "Store_SetRecord",
+ "inputs": [
+ {
+ "name": "tableId",
+ "type": "bytes32",
+ "indexed": true,
+ "internalType": "ResourceId"
+ },
+ {
+ "name": "keyTuple",
+ "type": "bytes32[]",
+ "indexed": false,
+ "internalType": "bytes32[]"
+ },
+ {
+ "name": "staticData",
+ "type": "bytes",
+ "indexed": false,
+ "internalType": "bytes"
+ },
+ {
+ "name": "encodedLengths",
+ "type": "bytes32",
+ "indexed": false,
+ "internalType": "EncodedLengths"
+ },
+ {
+ "name": "dynamicData",
+ "type": "bytes",
+ "indexed": false,
+ "internalType": "bytes"
+ }
+ ],
+ "anonymous": false
+ },
{
"type": "event",
"name": "Store_SpliceDynamicData",
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
index d60562cf4..89006bb05 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
@@ -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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b506142b5806100206000396000f3fe6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc57806323801570116100e1578063238015701461022b57806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd5780631ecb393f1461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e6101483660046138fe565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b610186366004613917565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b63660046138fe565b61043f565b604051610162919061398d565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613ac8565b61045f565b604051908152602001610162565b34801561021757600080fd5b506101fd6102263660046138fe565b6106c1565b34801561023757600080fd5b5061024b6102463660046138fe565b61073f565b6040516101629190613b21565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b3660046138fe565b61074a565b34801561029c57600080fd5b5061018b6102ab3660046138fe565b610755565b6102c36102be366004613b34565b610881565b005b3480156102d157600080fd5b506101fd6102e03660046138fe565b6109f9565b3480156102f157600080fd5b506102c3610300366004613b71565b610a8e565b34801561031157600080fd5b506102c36103203660046138fe565b610aff565b34801561033157600080fd5b5061014e6103403660046138fe565b610c3c565b34801561035157600080fd5b5061014e610c47565b34801561036657600080fd5b506101fd6103753660046138fe565b610c51565b34801561038657600080fd5b506101fd6103953660046138fe565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6104476138a8565b61043982610c5c565b600061045a610d0e565b905090565b60008061046a610d40565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c47565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d73565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613c08565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613c66565b5061062e816109f9565b915061063a8286610dc0565b6106448282610e8f565b61064d84610f0e565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fb3565b6106af828561106c565b6106b981846110eb565b509392505050565b60006106cd601361111e565b82106106db57506014919050565b60005b601481101561073957826106f18261111e565b1115801561071057508261070e610709836001613cb1565b61111e565b115b1561072757610720816001613cb1565b9150610739565b8061073181613cc4565b9150506106de565b50919050565b60006104398261119a565b600061043982611244565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112d6565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613cde565b60015b15610862576107f06112d6565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613cde565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112e0565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611372565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e838361142e565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613cfb565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a400000000000000000000000000000000000000000000000000000000179052611517565b5050505050565b600080610a046112d6565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613cde565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611372565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110eb565b5050565b610b0881611372565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112e0565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bb58160016115c5565b610bc781674563918244f40000611644565b610bcf610c47565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bfc91815260200190565b600060405180830381600087803b158015610c1657600080fd5b505af1158015610c2a573d6000803e3d6000fd5b50505050610c398160016116df565b50565b600061043982611763565b600061045a611800565b60006104398261180a565b610c646138a8565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c9a57610c9a613d23565b602090810291909101015260008080610cf37f7462554400000000000000000000000053746174730000000000000000000000857ee108002020012020202020000000000000000000000000000000000000000061189c565b925092509250610d0483838361196c565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d3d5750335b90565b600080610d4b6119e4565b90506000610d5a826000611a4c565b610d65906001613cb1565b905061043982600083611afd565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611bcd565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610df657610df6613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e55919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611c45565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610ec557610ec5613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e5591815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f4757610f47613d23565b60209081029190910101526000610f9f7f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611cfa565b9050610fab8160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fe957610fe9613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161103791151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611c45565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106110a2576110a2613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e5591815260200190565b610afb6111177f4368617261637465727300000000000000000000000000000000000000000000611db7565b8383611e04565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061115a5761115a613d23565b60209081029190910101526000610fab7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611cfa565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111d3576111d3613d23565b6020908102919091010152600061122c7f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611cfa565b905060f881901c6002811115610fab57610fab613959565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127d5761127d613d23565b60209081029190910101526000610fab7f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611cfa565b600061045a6119e4565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061131957611319613d23565b60209081029190910101526000610f9f7f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611cfa565b600061137c6112d6565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140d9190613cde565b6001600160a01b031661141e610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061146457611464613d23565b6020908102919091010152610e8a7f746255440000000000000000000000005374617473000000000000000000000082600285818111156114a7576114a7613959565b6040516020016114e2919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611c45565b606060008061152d61152885613d39565b611e56565b91509150816000801b03611593576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fab8285611f26565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115fb576115fb613d23565b602002602001018181525050610e8a7f746255440000000000000000000000005374617473000000000000000000000060001b826007856040516020016114e291815260200190565b61164c612001565b6001600160a01b03166340c10f1961166384610c3c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b1580156116c357600080fd5b505af11580156116d7573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061171557611715613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e5591151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061179c5761179c613d23565b602090810291909101015260006117f57f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611cfa565b60601c949350505050565b600061045a61200b565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061184357611843613d23565b60209081029190910101526000610fab7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611cfa565b60606000606060006118ac61200b565b9050306001600160a01b038216036118d5576118c987878761204a565b93509350935050611963565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061191e908a908a908a90600401613dc5565b600060405180830381865afa15801561193b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118c99190810190613dee565b93509350939050565b6119746138a8565b61197d84612152565b60e0890181905260c0890182905260a0890183905260808901849052606089018590528860208101604082018860028111156119bb576119bb613959565b60028111156119cc576119cc613959565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611a427f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611cfa565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a9157611a91613d23565b6020026020010181815250508260001b81600181518110611ab457611ab4613d23565b60209081029190910101526000611af47f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611cfa565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611b3e57611b3e613d23565b6020026020010181815250508260001b81600181518110611b6157611b61613d23565b602002602001018181525050611bc77f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611baa91815260200190565b60408051601f19818403018152919052630100080160dd1b611c45565b50505050565b6000611bdb60706010613cb1565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611c4f61200b565b9050306001600160a01b03821603611c7357611c6e86868686866121c0565b6116d7565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611cc09089908990899089908990600401613e51565b600060405180830381600087803b158015611cda57600080fd5b505af1158015611cee573d6000803e3d6000fd5b50505050505050505050565b600080611d0561200b565b9050306001600160a01b03821603611d2b57611d23868686866121d5565b915050610fab565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611d76908990899089908990600401613e98565b602060405180830381865afa158015611d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d239190613ec7565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611bcd565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611e3d57611e3d613d23565b602002602001018181525050611bc78482600085612202565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611eaf57611eaf613d23565b602090810291909101015260008080611f087f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e2402002004000000000000000000000000000000000000000000000000000061189c565b925092509250611f198383836122b3565b9550955050505050915091565b60606000611f32611800565b90506001600160a01b0381163003611f73576000611f5a611f51610d0e565b600087876122cb565b9350905080611f6c57611f6c83612406565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611fba9087908790600401613c08565b6000604051808303816000875af1158015611fd9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fab9190810190613c66565b600061045a61240e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612045573391505090565b919050565b606060006060600061205b8561246c565b905061206887878361248f565b93506000612075866124c8565b90508015612147576120878888612505565b935066ffffffffffffff841667ffffffffffffffff8111156120ab576120ab613a03565b6040519080825280601f01601f1916602001820160405280156120d5576020820181803683370190505b5092506020830160005b828160ff1610156121445760006120f78b8b84612518565b90506000612114888460ff166028026038011c64ffffffffff1690565b90506121238260008387612598565b61212d8185613cb1565b93505050808061213c90613ee0565b9150506120df565b50505b505093509350939050565b60008060008060008060008061216c896000016020015190565b60408a015160608b0151919950975060f81c600281111561218f5761218f613959565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f285856121cf8487612664565b85612695565b6000611af46121e48686612939565b60ff858116601b0360080285901c166121fd8587612664565b61298f565b600061220c61200b565b9050306001600160a01b0382160361222f5761222a858585856129e0565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061227a908890889088908890600401613eff565b600060405180830381600087803b15801561229457600080fd5b505af11580156122a8573d6000803e3d6000fd5b505050505050505050565b6000806122bf85612a1b565b90969095509350505050565b600060606000806122db86612a30565b90925090506001600160a01b03821661232c57856122f887612ad4565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613c08565b8061233b5761233b8689612c02565b86156123a7577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061238f82612c4e565b90506123a48261239f8b84613cb1565b612cc7565b50505b60006123b38760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123eb576123e688888488612d63565b6123f7565b6123f788888488612ddb565b90999098509650505050505050565b805160208201fd5b604080516000808252602082019092526000611a427f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611cfa565b6000600861247c60026020613f3e565b6124869190613f51565b9190911c919050565b6060816000036124ae5750604080516020810190915260008152611c3e565b60006124ba8585612939565b9050611af481600085612e3c565b600060086001806124db60026020613f3e565b6124e59190613f3e565b6124ef9190613f3e565b6124f99190613f51565b8260ff911c1692915050565b6000611c3e6125148484612e5f565b5490565b6000838360405160200161252d929190613f68565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561261f57602083106125c2576020830484019350602083816125be576125be613fa4565b0692505b821561261f5760208390036000818410156125e55750600019600884021c6125ef565b50600019600882021c5b8554600886021b818451168219821617845250818411612610575050611bc7565b50600194909401939182900391015b5b602082106126415783548152600190930192601f1990910190602001612620565b8115611bc7576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761268b60ff601b83900360080287901c1683613cb1565b9150600101612669565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361271f57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161271293929190613fba565b60405180910390a2611bc7565b600061272b8585612939565b9050600061273886612eb5565b905060005b815181101561280d57600082828151811061275a5761275a613d23565b602002602001015190506127866004826affffffffffffffffffffff1916612f3e90919063ffffffff16565b15612804576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906127d1908b908b908b908b90600401613fed565b600060405180830381600087803b1580156127eb57600080fd5b505af11580156127ff573d6000803e3d6000fd5b505050505b5060010161273d565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161284293929190613fba565b60405180910390a261285d828565ffffffffffff1685612f5c565b60005b815181101561293057600082828151811061287d5761287d613d23565b602002602001015190506128a96008826affffffffffffffffffffff1916612f3e90919063ffffffff16565b15612927576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906128f4908b908b908b908b90600401613fed565b600060405180830381600087803b15801561290e57600080fd5b505af1158015612922573d6000803e3d6000fd5b505050505b50600101612860565b50505050505050565b6000828260405160200161294e929190613f68565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106129b5576020820484019350602082816129b1576129b1613fa4565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b60006129ec8585612505565b90506000612a09828560ff166028026038011c64ffffffffff1690565b90506116d78686866000858888612f72565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612a6a57612a6a613d23565b602090810291909101015260008080612ac37f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061204a565b925092509250611f198383836133ac565b606081601081901b6000612ae7836133b8565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612b4257612b3d7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133cf565b612b79565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612ba057612b9b836133cf565b612bd7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612be993929190614026565b6040516020818303038152906040529350505050919050565b612c0c8282613455565b610afb57612c1982612ad4565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e99291906140b4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612c8757612c87613d23565b60209081029190910101526000610fab7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6121d5565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612cfd57612cfd613d23565b602002602001018181525050610e8a7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612d4691815260200190565b60408051601f19818403018152919052630100080160dd1b6121c0565b60006060836001600160a01b03166000612d7e8589896134b3565b604051612d8b91906140df565b60006040518083038185875af1925050503d8060008114612dc8576040519150601f19603f3d011682016040523d82523d6000602084013e612dcd565b606091505b509097909650945050505050565b60006060836001600160a01b0316612df48488886134b3565b604051612e0191906140df565b600060405180830381855af49150503d8060008114612dc8576040519150601f19603f3d011682016040523d82523d6000602084013e612dcd565b60405160208101601f19603f84840101166040528282526106b985858584612598565b60008282604051602001612e74929190613f68565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612eef57612eef613d23565b60209081029190910101526000612f277f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836134e2565b9050610fab612f39826000845161351c565b6135aa565b60008160ff1682612f4f8560581c90565b1660ff1614905092915050565b610e8a83838351612f6d8560200190565b6135bb565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613032577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612ff091815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e99392916004016140fb565b600061304d828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836130669190613f3e565b6130709190613cb1565b9050808214158015613092575081613088868861413c565b64ffffffffff1614155b156130e2576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff161115613133576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b600061314084898461367a565b9050600061314d8b612eb5565b905060005b815181101561321857600082828151811061316f5761316f613d23565b6020026020010151905061319b6010826affffffffffffffffffffff1916612f3e90919063ffffffff16565b1561320f57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016131dc9796959493929190614161565b600060405180830381600087803b1580156131f657600080fd5b505af115801561320a573d6000803e3d6000fd5b505050505b50600101613152565b5064ffffffffff881660005b8a60ff168160ff1610156132575761324b878260ff166028026038011c64ffffffffff1690565b90910190600101613224565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051613292969594939291906141bf565b60405180910390a2508284146132b35760006132ae8c8c612e5f565b839055505b60006132c08c8c8c612518565b90506132d4818a64ffffffffff1689612f5c565b5060005b815181101561339e5760008282815181106132f5576132f5613d23565b602002602001015190506133216020826affffffffffffffffffffff1916612f3e90919063ffffffff16565b1561339557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016133629796959493929190614161565b600060405180830381600087803b15801561337c57600080fd5b505af1158015613390573d6000803e3d6000fd5b505050505b506001016132d8565b505050505050505050505050565b6000806122bf85613748565b60006133c660706010613cb1565b9190911b919050565b606060005b6010811015613425576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613425576001016133d4565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fab565b60006134a37f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613764565b80611c3e5750611c3e8383613764565b60608383836040516020016134ca9392919061421b565b60405160208183030381529060405290509392505050565b6060610fab6134f2858585612518565b6000613517856135028989612505565b9060ff166028026038011c64ffffffffff1690565b612e3c565b60008183118061352c5750835182115b15613569578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e99392919061425a565b602084016135778482613cb1565b905060006135858585613f3e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611c3e836015600061382d565b821561363557602083106135e5576020830484019350602083816135e1576135e1613fa4565b0692505b82156136355760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613626575050611bc7565b50600194909401939182900391015b5b602082106136575780518455600190930192601f1990910190602001613636565b8115611bc7576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff8211156136be576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106136f057808503820191506136f8565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612a29565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061379d5761379d613d23565b602002602001018181525050826001600160a01b031660001b816001815181106137c9576137c9613d23565b602090810291909101015260006138217f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006121d5565b9050611af48160f81c90565b6060600061383b8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161386157613861613fa4565b04905060405193506020840160208202810160405281855260005b8281101561389c578451871c82529387019360209091019060010161387c565b50505050509392505050565b6040518061010001604052806000815260200160008152602001600060028111156138d5576138d5613959565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561391057600080fd5b5035919050565b60006020828403121561392957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c3e57600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c3957634e487b7160e01b600052602160045260246000fd5b815181526020808301519082015260408201516101008201906139af8161396f565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c3957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4257613a42613a03565b604052919050565b600067ffffffffffffffff821115613a6457613a64613a03565b50601f01601f191660200190565b600082601f830112613a8357600080fd5b8135613a96613a9182613a4a565b613a19565b818152846020838601011115613aab57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613add57600080fd5b8335613ae8816139ee565b925060208401359150604084013567ffffffffffffffff811115613b0b57600080fd5b613b1786828701613a72565b9150509250925092565b60208101613b2e8361396f565b91905290565b600080600060608486031215613b4957600080fd5b8335925060208401359150604084013560038110613b6657600080fd5b809150509250925092565b60008060408385031215613b8457600080fd5b82359150602083013567ffffffffffffffff811115613ba257600080fd5b613bae85828601613a72565b9150509250929050565b60005b83811015613bd3578181015183820152602001613bbb565b50506000910152565b60008151808452613bf4816020860160208601613bb8565b601f01601f19169290920160200192915050565b828152604060208201526000610fab6040830184613bdc565b600082601f830112613c3257600080fd5b8151613c40613a9182613a4a565b818152846020838601011115613c5557600080fd5b610fab826020830160208701613bb8565b600060208284031215613c7857600080fd5b815167ffffffffffffffff811115613c8f57600080fd5b610fab84828501613c21565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c9b565b60006000198203613cd757613cd7613c9b565b5060010190565b600060208284031215613cf057600080fd5b8151611c3e816139ee565b838152613d078361396f565b826020820152606060408201526000611af46060830184613bdc565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613d815780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613dba57815187529582019590820190600101613d9e565b509495945050505050565b838152606060208201526000613dde6060830185613d89565b9050826040830152949350505050565b600080600060608486031215613e0357600080fd5b835167ffffffffffffffff80821115613e1b57600080fd5b613e2787838801613c21565b9450602086015193506040860151915080821115613e4457600080fd5b50613b1786828701613c21565b85815260a060208201526000613e6a60a0830187613d89565b60ff861660408401528281036060840152613e858186613bdc565b9150508260808301529695505050505050565b848152608060208201526000613eb16080830186613d89565b60ff949094166040830152506060015292915050565b600060208284031215613ed957600080fd5b5051919050565b600060ff821660ff8103613ef657613ef6613c9b565b60010192915050565b848152608060208201526000613f186080830186613d89565b60ff851660408401528281036060840152613f338185613bdc565b979650505050505050565b8181038181111561043957610439613c9b565b808202811582820484141761043957610439613c9b565b8281526000602080830184516020860160005b82811015613f9757815184529284019290840190600101613f7b565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613fcd6060830186613d89565b65ffffffffffff851660208401528281036040840152610d048185613bdc565b8481526080602082015260006140066080830186613d89565b65ffffffffffff851660408401528281036060840152613f338185613bdc565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614087816003860160208901613bb8565b8084019050816003820152845191506140a7826004830160208801613bb8565b0160040195945050505050565b6040815260006140c76040830185613bdc565b90506001600160a01b03831660208301529392505050565b600082516140f1818460208701613bb8565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611af46060830184613bdc565b64ffffffffff81811683821601908082111561415a5761415a613c9b565b5092915050565b87815260e06020820152600061417a60e0830189613d89565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141b18185613bdc565b9a9950505050505050505050565b60c0815260006141d260c0830189613d89565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261420e8185613bdc565b9998505050505050505050565b6000845161422d818460208901613bb8565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60608152600061426d6060830186613bdc565b6020830194909452506040015291905056fea2646970667358221220cc2c999bb62d1901c8a36d533ae7900d907ca296c84edf127300cdf207faff5864736f6c63430008180033","sourceMap":"1738:5989:198:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc57806323801570116100e1578063238015701461022b57806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd5780631ecb393f1461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e6101483660046138fe565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b610186366004613917565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b63660046138fe565b61043f565b604051610162919061398d565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613ac8565b61045f565b604051908152602001610162565b34801561021757600080fd5b506101fd6102263660046138fe565b6106c1565b34801561023757600080fd5b5061024b6102463660046138fe565b61073f565b6040516101629190613b21565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b3660046138fe565b61074a565b34801561029c57600080fd5b5061018b6102ab3660046138fe565b610755565b6102c36102be366004613b34565b610881565b005b3480156102d157600080fd5b506101fd6102e03660046138fe565b6109f9565b3480156102f157600080fd5b506102c3610300366004613b71565b610a8e565b34801561031157600080fd5b506102c36103203660046138fe565b610aff565b34801561033157600080fd5b5061014e6103403660046138fe565b610c3c565b34801561035157600080fd5b5061014e610c47565b34801561036657600080fd5b506101fd6103753660046138fe565b610c51565b34801561038657600080fd5b506101fd6103953660046138fe565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b6104476138a8565b61043982610c5c565b600061045a610d0e565b905090565b60008061046a610d40565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610c47565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610d73565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401613c08565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106249190810190613c66565b5061062e816109f9565b915061063a8286610dc0565b6106448282610e8f565b61064d84610f0e565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001610fb3565b6106af828561106c565b6106b981846110eb565b509392505050565b60006106cd601361111e565b82106106db57506014919050565b60005b601481101561073957826106f18261111e565b1115801561071057508261070e610709836001613cb1565b61111e565b115b1561072757610720816001613cb1565b9150610739565b8061073181613cc4565b9150506106de565b50919050565b60006104398261119a565b600061043982611244565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d6112d6565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190613cde565b60015b15610862576107f06112d6565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190613cde565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a826112e0565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611372565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e838361142e565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401613cfb565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a400000000000000000000000000000000000000000000000000000000179052611517565b5050505050565b600080610a046112d6565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613cde565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611372565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff8316826110eb565b5050565b610b0881611372565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d816112e0565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b610bb58160016115c5565b610bc781674563918244f40000611644565b610bcf610c47565b6001600160a01b031663f9d175ed826040518263ffffffff1660e01b8152600401610bfc91815260200190565b600060405180830381600087803b158015610c1657600080fd5b505af1158015610c2a573d6000803e3d6000fd5b50505050610c398160016116df565b50565b600061043982611763565b600061045a611800565b60006104398261180a565b610c646138a8565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610c9a57610c9a613d23565b602090810291909101015260008080610cf37f7462554400000000000000000000000053746174730000000000000000000000857ee108002020012020202020000000000000000000000000000000000000000061189c565b925092509250610d0483838361196c565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610d3d5750335b90565b600080610d4b6119e4565b90506000610d5a826000611a4c565b610d65906001613cb1565b905061043982600083611afd565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611bcd565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610df657610df6613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610e55919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611c45565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610ec557610ec5613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610e5591815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f4757610f47613d23565b60209081029190910101526000610f9f7f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611cfa565b9050610fab8160f81c90565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610fe957610fe9613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004e616d6545786973747300000000000060001b8260008560405160200161103791151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611c45565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106110a2576110a2613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610e5591815260200190565b610afb6111177f4368617261637465727300000000000000000000000000000000000000000000611db7565b8383611e04565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061115a5761115a613d23565b60209081029190910101526000610fab7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611cfa565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106111d3576111d3613d23565b6020908102919091010152600061122c7f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611cfa565b905060f881901c6002811115610fab57610fab613959565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061127d5761127d613d23565b60209081029190910101526000610fab7f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611cfa565b600061045a6119e4565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061131957611319613d23565b60209081029190910101526000610f9f7f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611cfa565b600061137c6112d6565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa1580156113e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140d9190613cde565b6001600160a01b031661141e610450565b6001600160a01b03161492915050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061146457611464613d23565b6020908102919091010152610e8a7f746255440000000000000000000000005374617473000000000000000000000082600285818111156114a7576114a7613959565b6040516020016114e2919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611c45565b606060008061152d61152885613d39565b611e56565b91509150816000801b03611593576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610fab8285611f26565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115fb576115fb613d23565b602002602001018181525050610e8a7f746255440000000000000000000000005374617473000000000000000000000060001b826007856040516020016114e291815260200190565b61164c612001565b6001600160a01b03166340c10f1961166384610c3c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b1580156116c357600080fd5b505af11580156116d7573d6000803e3d6000fd5b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061171557611715613d23565b602002602001018181525050610e8a7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610e5591151560f81b815260010190565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061179c5761179c613d23565b602090810291909101015260006117f57f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611cfa565b60601c949350505050565b600061045a61200b565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061184357611843613d23565b60209081029190910101526000610fab7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611cfa565b60606000606060006118ac61200b565b9050306001600160a01b038216036118d5576118c987878761204a565b93509350935050611963565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061191e908a908a908a90600401613dc5565b600060405180830381865afa15801561193b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118c99190810190613dee565b93509350939050565b6119746138a8565b61197d84612152565b60e0890181905260c0890182905260a0890183905260808901849052606089018590528860208101604082018860028111156119bb576119bb613959565b60028111156119cc576119cc613959565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611a427f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611cfa565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611a9157611a91613d23565b6020026020010181815250508260001b81600181518110611ab457611ab4613d23565b60209081029190910101526000611af47f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611cfa565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611b3e57611b3e613d23565b6020026020010181815250508260001b81600181518110611b6157611b61613d23565b602002602001018181525050611bc77f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611baa91815260200190565b60408051601f19818403018152919052630100080160dd1b611c45565b50505050565b6000611bdb60706010613cb1565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611c4f61200b565b9050306001600160a01b03821603611c7357611c6e86868686866121c0565b6116d7565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611cc09089908990899089908990600401613e51565b600060405180830381600087803b158015611cda57600080fd5b505af1158015611cee573d6000803e3d6000fd5b50505050505050505050565b600080611d0561200b565b9050306001600160a01b03821603611d2b57611d23868686866121d5565b915050610fab565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611d76908990899089908990600401613e98565b602060405180830381865afa158015611d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d239190613ec7565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611bcd565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611e3d57611e3d613d23565b602002602001018181525050611bc78482600085612202565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611eaf57611eaf613d23565b602090810291909101015260008080611f087f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e2402002004000000000000000000000000000000000000000000000000000061189c565b925092509250611f198383836122b3565b9550955050505050915091565b60606000611f32611800565b90506001600160a01b0381163003611f73576000611f5a611f51610d0e565b600087876122cb565b9350905080611f6c57611f6c83612406565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611fba9087908790600401613c08565b6000604051808303816000875af1158015611fd9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fab9190810190613c66565b600061045a61240e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612045573391505090565b919050565b606060006060600061205b8561246c565b905061206887878361248f565b93506000612075866124c8565b90508015612147576120878888612505565b935066ffffffffffffff841667ffffffffffffffff8111156120ab576120ab613a03565b6040519080825280601f01601f1916602001820160405280156120d5576020820181803683370190505b5092506020830160005b828160ff1610156121445760006120f78b8b84612518565b90506000612114888460ff166028026038011c64ffffffffff1690565b90506121238260008387612598565b61212d8185613cb1565b93505050808061213c90613ee0565b9150506120df565b50505b505093509350939050565b60008060008060008060008061216c896000016020015190565b60408a015160608b0151919950975060f81c600281111561218f5761218f613959565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f285856121cf8487612664565b85612695565b6000611af46121e48686612939565b60ff858116601b0360080285901c166121fd8587612664565b61298f565b600061220c61200b565b9050306001600160a01b0382160361222f5761222a858585856129e0565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061227a908890889088908890600401613eff565b600060405180830381600087803b15801561229457600080fd5b505af11580156122a8573d6000803e3d6000fd5b505050505050505050565b6000806122bf85612a1b565b90969095509350505050565b600060606000806122db86612a30565b90925090506001600160a01b03821661232c57856122f887612ad4565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190613c08565b8061233b5761233b8689612c02565b86156123a7577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061238f82612c4e565b90506123a48261239f8b84613cb1565b612cc7565b50505b60006123b38760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146123eb576123e688888488612d63565b6123f7565b6123f788888488612ddb565b90999098509650505050505050565b805160208201fd5b604080516000808252602082019092526000611a427f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360017e79070001141414141414000000000000000000000000000000000000000000611cfa565b6000600861247c60026020613f3e565b6124869190613f51565b9190911c919050565b6060816000036124ae5750604080516020810190915260008152611c3e565b60006124ba8585612939565b9050611af481600085612e3c565b600060086001806124db60026020613f3e565b6124e59190613f3e565b6124ef9190613f3e565b6124f99190613f51565b8260ff911c1692915050565b6000611c3e6125148484612e5f565b5490565b6000838360405160200161252d929190613f68565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561261f57602083106125c2576020830484019350602083816125be576125be613fa4565b0692505b821561261f5760208390036000818410156125e55750600019600884021c6125ef565b50600019600882021c5b8554600886021b818451168219821617845250818411612610575050611bc7565b50600194909401939182900391015b5b602082106126415783548152600190930192601f1990910190602001612620565b8115611bc7576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761268b60ff601b83900360080287901c1683613cb1565b9150600101612669565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361271f57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161271293929190613fba565b60405180910390a2611bc7565b600061272b8585612939565b9050600061273886612eb5565b905060005b815181101561280d57600082828151811061275a5761275a613d23565b602002602001015190506127866004826affffffffffffffffffffff1916612f3e90919063ffffffff16565b15612804576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906127d1908b908b908b908b90600401613fed565b600060405180830381600087803b1580156127eb57600080fd5b505af11580156127ff573d6000803e3d6000fd5b505050505b5060010161273d565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161284293929190613fba565b60405180910390a261285d828565ffffffffffff1685612f5c565b60005b815181101561293057600082828151811061287d5761287d613d23565b602002602001015190506128a96008826affffffffffffffffffffff1916612f3e90919063ffffffff16565b15612927576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906128f4908b908b908b908b90600401613fed565b600060405180830381600087803b15801561290e57600080fd5b505af1158015612922573d6000803e3d6000fd5b505050505b50600101612860565b50505050505050565b6000828260405160200161294e929190613f68565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b6000602082106129b5576020820484019350602082816129b1576129b1613fa4565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b60006129ec8585612505565b90506000612a09828560ff166028026038011c64ffffffffff1690565b90506116d78686866000858888612f72565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612a6a57612a6a613d23565b602090810291909101015260008080612ac37f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061204a565b925092509250611f198383836133ac565b606081601081901b6000612ae7836133b8565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612b4257612b3d7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133cf565b612b79565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612ba057612b9b836133cf565b612bd7565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612be993929190614026565b6040516020818303038152906040529350505050919050565b612c0c8282613455565b610afb57612c1982612ad4565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e99291906140b4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612c8757612c87613d23565b60209081029190910101526000610fab7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6121d5565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612cfd57612cfd613d23565b602002602001018181525050610e8a7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612d4691815260200190565b60408051601f19818403018152919052630100080160dd1b6121c0565b60006060836001600160a01b03166000612d7e8589896134b3565b604051612d8b91906140df565b60006040518083038185875af1925050503d8060008114612dc8576040519150601f19603f3d011682016040523d82523d6000602084013e612dcd565b606091505b509097909650945050505050565b60006060836001600160a01b0316612df48488886134b3565b604051612e0191906140df565b600060405180830381855af49150503d8060008114612dc8576040519150601f19603f3d011682016040523d82523d6000602084013e612dcd565b60405160208101601f19603f84840101166040528282526106b985858584612598565b60008282604051602001612e74929190613f68565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612eef57612eef613d23565b60209081029190910101526000612f277f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836134e2565b9050610fab612f39826000845161351c565b6135aa565b60008160ff1682612f4f8560581c90565b1660ff1614905092915050565b610e8a83838351612f6d8560200190565b6135bb565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613032577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612ff091815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e99392916004016140fb565b600061304d828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836130669190613f3e565b6130709190613cb1565b9050808214158015613092575081613088868861413c565b64ffffffffff1614155b156130e2576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff161115613133576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b600061314084898461367a565b9050600061314d8b612eb5565b905060005b815181101561321857600082828151811061316f5761316f613d23565b6020026020010151905061319b6010826affffffffffffffffffffff1916612f3e90919063ffffffff16565b1561320f57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016131dc9796959493929190614161565b600060405180830381600087803b1580156131f657600080fd5b505af115801561320a573d6000803e3d6000fd5b505050505b50600101613152565b5064ffffffffff881660005b8a60ff168160ff1610156132575761324b878260ff166028026038011c64ffffffffff1690565b90910190600101613224565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051613292969594939291906141bf565b60405180910390a2508284146132b35760006132ae8c8c612e5f565b839055505b60006132c08c8c8c612518565b90506132d4818a64ffffffffff1689612f5c565b5060005b815181101561339e5760008282815181106132f5576132f5613d23565b602002602001015190506133216020826affffffffffffffffffffff1916612f3e90919063ffffffff16565b1561339557606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016133629796959493929190614161565b600060405180830381600087803b15801561337c57600080fd5b505af1158015613390573d6000803e3d6000fd5b505050505b506001016132d8565b505050505050505050505050565b6000806122bf85613748565b60006133c660706010613cb1565b9190911b919050565b606060005b6010811015613425576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613425576001016133d4565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280610fab565b60006134a37f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613764565b80611c3e5750611c3e8383613764565b60608383836040516020016134ca9392919061421b565b60405160208183030381529060405290509392505050565b6060610fab6134f2858585612518565b6000613517856135028989612505565b9060ff166028026038011c64ffffffffff1690565b612e3c565b60008183118061352c5750835182115b15613569578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e99392919061425a565b602084016135778482613cb1565b905060006135858585613f3e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611c3e836015600061382d565b821561363557602083106135e5576020830484019350602083816135e1576135e1613fa4565b0692505b82156136355760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613626575050611bc7565b50600194909401939182900391015b5b602082106136575780518455600190930192601f1990910190602001613636565b8115611bc7576000600019600884021c8554835182191691161785555050505050565b600064ffffffffff8211156136be576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106136f057808503820191506136f8565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612a29565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061379d5761379d613d23565b602002602001018181525050826001600160a01b031660001b816001815181106137c9576137c9613d23565b602090810291909101015260006138217f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006121d5565b9050611af48160f81c90565b6060600061383b8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161386157613861613fa4565b04905060405193506020840160208202810160405281855260005b8281101561389c578451871c82529387019360209091019060010161387c565b50505050509392505050565b6040518061010001604052806000815260200160008152602001600060028111156138d5576138d5613959565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006020828403121561391057600080fd5b5035919050565b60006020828403121561392957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c3e57600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110610c3957634e487b7160e01b600052602160045260246000fd5b815181526020808301519082015260408201516101008201906139af8161396f565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114610c3957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613a4257613a42613a03565b604052919050565b600067ffffffffffffffff821115613a6457613a64613a03565b50601f01601f191660200190565b600082601f830112613a8357600080fd5b8135613a96613a9182613a4a565b613a19565b818152846020838601011115613aab57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613add57600080fd5b8335613ae8816139ee565b925060208401359150604084013567ffffffffffffffff811115613b0b57600080fd5b613b1786828701613a72565b9150509250925092565b60208101613b2e8361396f565b91905290565b600080600060608486031215613b4957600080fd5b8335925060208401359150604084013560038110613b6657600080fd5b809150509250925092565b60008060408385031215613b8457600080fd5b82359150602083013567ffffffffffffffff811115613ba257600080fd5b613bae85828601613a72565b9150509250929050565b60005b83811015613bd3578181015183820152602001613bbb565b50506000910152565b60008151808452613bf4816020860160208601613bb8565b601f01601f19169290920160200192915050565b828152604060208201526000610fab6040830184613bdc565b600082601f830112613c3257600080fd5b8151613c40613a9182613a4a565b818152846020838601011115613c5557600080fd5b610fab826020830160208701613bb8565b600060208284031215613c7857600080fd5b815167ffffffffffffffff811115613c8f57600080fd5b610fab84828501613c21565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439613c9b565b60006000198203613cd757613cd7613c9b565b5060010190565b600060208284031215613cf057600080fd5b8151611c3e816139ee565b838152613d078361396f565b826020820152606060408201526000611af46060830184613bdc565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613d815780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b83811015613dba57815187529582019590820190600101613d9e565b509495945050505050565b838152606060208201526000613dde6060830185613d89565b9050826040830152949350505050565b600080600060608486031215613e0357600080fd5b835167ffffffffffffffff80821115613e1b57600080fd5b613e2787838801613c21565b9450602086015193506040860151915080821115613e4457600080fd5b50613b1786828701613c21565b85815260a060208201526000613e6a60a0830187613d89565b60ff861660408401528281036060840152613e858186613bdc565b9150508260808301529695505050505050565b848152608060208201526000613eb16080830186613d89565b60ff949094166040830152506060015292915050565b600060208284031215613ed957600080fd5b5051919050565b600060ff821660ff8103613ef657613ef6613c9b565b60010192915050565b848152608060208201526000613f186080830186613d89565b60ff851660408401528281036060840152613f338185613bdc565b979650505050505050565b8181038181111561043957610439613c9b565b808202811582820484141761043957610439613c9b565b8281526000602080830184516020860160005b82811015613f9757815184529284019290840190600101613f7b565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b606081526000613fcd6060830186613d89565b65ffffffffffff851660208401528281036040840152610d048185613bdc565b8481526080602082015260006140066080830186613d89565b65ffffffffffff851660408401528281036060840152613f338185613bdc565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614087816003860160208901613bb8565b8084019050816003820152845191506140a7826004830160208801613bb8565b0160040195945050505050565b6040815260006140c76040830185613bdc565b90506001600160a01b03831660208301529392505050565b600082516140f1818460208701613bb8565b9190910192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611af46060830184613bdc565b64ffffffffff81811683821601908082111561415a5761415a613c9b565b5092915050565b87815260e06020820152600061417a60e0830189613d89565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526141b18185613bdc565b9a9950505050505050505050565b60c0815260006141d260c0830189613d89565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261420e8185613bdc565b9998505050505050505050565b6000845161422d818460208901613bb8565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b60608152600061426d6060830186613bdc565b6020830194909452506040015291905056fea2646970667358221220cc2c999bb62d1901c8a36d533ae7900d907ca296c84edf127300cdf207faff5864736f6c63430008180033","sourceMap":"1738:5989:198:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:144;;;;;;;;;;-1:-1:-1;2899:144:198;;;;;:::i;:::-;3032:2;3008:26;;2899:144;;;;-1:-1:-1;;;;;363:55:202;;;345:74;;333:2;318:18;2899:144:198;;;;;;;;2331:198:117;;;;;;;;;;-1:-1:-1;2331:198:117;;;;;:::i;:::-;;:::i;:::-;;;932:14:202;;925:22;907:41;;895:2;880:18;2331:198:117;767:187:202;7601:124:198;;;;;;;;;;-1:-1:-1;7601:124:198;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:117:-;;;;;;;;;;;;;:::i;3819:837:198:-;;;;;;;;;;-1:-1:-1;3819:837:198;;;;;:::i;:::-;;:::i;:::-;;;4284:25:202;;;4272:2;4257:18;3819:837:198;4138:177:202;5640:492:198;;;;;;;;;;-1:-1:-1;5640:492:198;;;;;:::i;:::-;;:::i;1915:129::-;;;;;;;;;;-1:-1:-1;1915:129:198;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:117:-;;;;;;;;;;-1:-1:-1;3800:14:117;-1:-1:-1;;3796:25:117;3783:39;1616:110;1262:113;1779:130:198;;;;;;;;;;-1:-1:-1;1779:130:198;;;;;:::i;:::-;;:::i;3049:413::-;;;;;;;;;;-1:-1:-1;3049:413:198;;;;;:::i;:::-;;:::i;4662:545::-;;;;;;:::i;:::-;;:::i;:::-;;2386:266;;;;;;;;;;-1:-1:-1;2386:266:198;;;;;:::i;:::-;;:::i;6138:219::-;;;;;;;;;;-1:-1:-1;6138:219:198;;;;;:::i;:::-;;:::i;5213:421::-;;;;;;;;;;-1:-1:-1;5213:421:198;;;;;:::i;:::-;;:::i;7203:125::-;;;;;;;;;;-1:-1:-1;7203:125:198;;;;;:::i;:::-;;:::i;1942:98:117:-;;;;;;;;;;;;;:::i;7465:130:198:-;;;;;;;;;;-1:-1:-1;7465:130:198;;;;;:::i;:::-;;:::i;2658:143::-;;;;;;;;;;-1:-1:-1;2658:143:198;;;;;:::i;:::-;2756:37;;;2658:143;2331:198:117;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:117;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:117:o;7601:124:198:-;7661:16;;:::i;:::-;7696:22;7706:11;7696:9;:22::i;1262:113:117:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3819:837:198:-;3929:19;3964:24;3991:28;:26;:28::i;:::-;3964:55;-1:-1:-1;4056:16:198;4037:35;;4029:83;;;;-1:-1:-1;;;4029:83:198;;5933:2:202;4029:83:198;;;5915:21:202;5972:2;5952:18;;;5945:30;6011:34;5991:18;;;5984:62;6082:5;6062:18;;;6055:33;6105:19;;4029:83:198;;;;;;;;;4129:8;:6;:8::i;:::-;-1:-1:-1;;;;;4122:21:198;;4157:37;4173:20;4157:15;:37::i;:::-;4196:65;;-1:-1:-1;;;;;6327:55:202;;4196:65:198;;;6309:74:202;6399:18;;;6392:34;;;6282:18;;4196:65:198;;;-1:-1:-1;;4196:65:198;;;;;;;;;;;;;;;;;;;;4122:149;;4196:65;4122:149;;;;;;;;;4196:65;4122:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4122:149:198;;;;;;;;;;;;:::i;:::-;;4295:35;4313:16;4295:17;:35::i;:::-;4281:49;;4340:41;4360:11;4373:7;4340:19;:41::i;:::-;4391:52;4413:11;4426:16;4391:21;:52::i;:::-;4462:25;4482:4;4462:19;:25::i;:::-;4461:26;4453:58;;;;-1:-1:-1;;;4453:58:198;;8340:2:202;4453:58:198;;;8322:21:202;8379:2;8359:18;;;8352:30;8418:21;8398:18;;;8391:49;8457:18;;4453:58:198;8138:343:202;4453:58:198;4521:31;4541:4;4547;4521:19;:31::i;:::-;4562:37;4581:11;4594:4;4562:18;:37::i;:::-;4609:40;4622:16;4640:8;4609:12;:40::i;:::-;3954:702;3819:837;;;;;:::o;5640:492::-;5715:20;5765:14;5776:2;5765:10;:14::i;:::-;5751:10;:28;5747:379;;-1:-1:-1;5810:2:198;5640:492;;;:::o;5747:379::-;5848:9;5843:273;5863:2;5859:1;:6;5843:273;;;5907:10;5890:13;5901:1;5890:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;5941:10:198;5921:17;5932:5;:1;5936;5932:5;:::i;:::-;5921:10;:17::i;:::-;:30;5890:61;5886:155;;;5990:5;:1;5994;5990:5;:::i;:::-;5975:20;;6017:5;;5886:155;6080:3;;;;:::i;:::-;;;;5843:273;;;;5640:492;;;:::o;1915:129::-;1975:14;2010:27;2025:11;2010:14;:27::i;1779:130::-;1838:13;1871:31;1890:11;1871:18;:31::i;3049:413::-;3119:4;3135:20;3158:28;3174:11;3032:2;3008:26;;2899:144;3158:28;3135:51;-1:-1:-1;2756:37:198;;;3196:15;3285:17;:15;:17::i;:::-;-1:-1:-1;;;;;3285:25:198;;3311:7;3285:34;;;;;;;;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;3285:34:198;;;;;;;;;;;;;;;;;;;-1:-1:-1;3285:34:198;;;;;;;;-1:-1:-1;;3285:34:198;;;;;;;;;;;;:::i;:::-;;;3281:135;;;3362:17;:15;:17::i;:::-;-1:-1:-1;;;;;3362:25:198;;3388:7;3362:34;;;;;;;;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;3362:34:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:44;;3320:87;3281:135;3443:12;-1:-1:-1;;;;;3432:23:198;:7;-1:-1:-1;;;;;3432:23:198;;3425:30;;;;;3049:413;;;:::o;4662:545::-;4777:33;4798:11;4777:20;:33::i;:::-;4776:34;4768:90;;;;-1:-1:-1;;;4768:90:198;;9463:2:202;4768:90:198;;;9445:21:202;9502:2;9482:18;;;9475:30;9541:34;9521:18;;;9514:62;9612:13;9592:18;;;9585:41;9643:19;;4768:90:198;9261:407:202;4768:90:198;4876:21;4885:11;4876:8;:21::i;:::-;4868:53;;;;-1:-1:-1;;;4868:53:198;;9875:2:202;4868:53:198;;;9857:21:202;9914:2;9894:18;;;9887:30;9953:21;9933:18;;;9926:49;9992:18;;4868:53:198;9673:343:202;4868:53:198;4931:26;4999:34;5014:11;5027:5;4999:14;:34::i;:::-;5090:110;5143:16;5161:11;5185;5174:23;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;5174:23:198;;;;-1:-1:-1;;5174:23:198;;;;;;;;;;5108:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5108:91:198;;;;;;;;;;;;;;;;;;;;5090:17;:110::i;:::-;;4758:449;4662:545;;;:::o;2386:266::-;2460:19;2491:20;2514:17;:15;:17::i;:::-;-1:-1:-1;;;;;2514:25:198;;2540:16;2514:43;;;;;;;;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;2514:43:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2623:2;2589:36;-1:-1:-1;;2589:36:198;:55;;;;;;-1:-1:-1;;2386:266:198:o;6138:219::-;6232:21;6241:11;6232:8;:21::i;:::-;6224:60;;;;-1:-1:-1;;;6224:60:198;;10651:2:202;6224:60:198;;;10633:21:202;10690:2;10670:18;;;10663:30;10729:28;10709:18;;;10702:56;10775:18;;6224:60:198;10449:350:202;6224:60:198;6294:56;2756:37;;;6341:8;6294:12;:56::i;:::-;6138:219;;:::o;5213:421::-;5278:21;5287:11;5278:8;:21::i;:::-;5270:52;;;;-1:-1:-1;;;5270:52:198;;11006:2:202;5270:52:198;;;10988:21:202;11045:2;11025:18;;;11018:30;11084:20;11064:18;;;11057:48;11122:18;;5270:52:198;10804:342:202;5270:52:198;5341:33;5362:11;5341:20;:33::i;:::-;5340:34;5332:72;;;;-1:-1:-1;;;5332:72:198;;11353:2:202;5332:72:198;;;11335:21:202;11392:2;11372:18;;;11365:30;11431:27;11411:18;;;11404:55;11476:18;;5332:72:198;11151:349:202;5332:72:198;5414:30;5429:11;5442:1;5414:14;:30::i;:::-;5454:31;5464:11;5477:7;5454:9;:31::i;:::-;5533:8;:6;:8::i;:::-;-1:-1:-1;;;;;5526:38:198;;5565:11;5526:51;;;;;;;;;;;;;4284:25:202;;4272:2;4257:18;;4138:177;5526:51:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5588:39;5609:11;5622:4;5588:20;:39::i;:::-;5213:421;:::o;7203:125::-;7263:7;7289:32;7309:11;7289:19;:32::i;1942:98:117:-;1981:7;2003:32;:30;:32::i;7465:130:198:-;7530:7;7556:32;7576:11;7556:19;:32::i;13270:402:183:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:183;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:183:o;2992:383:117:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:117;3325:45;2992:383;:::o;6537:347:198:-;6593:7;6612:25;6640:42;:40;:42::i;:::-;6612:70;;6692:24;6719:50;6747:17;6767:1;6719:19;:50::i;:::-;:54;;6772:1;6719:54;:::i;:::-;6692:81;;6783:61;6803:17;6822:1;6826:16;6783:19;:61::i;1094:186:200:-;1152:10;1177:100;1212:15;1240:9;1257:18;1177:25;:100::i;4730:249:167:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:167;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;11843:2:202;11839:15;;;;-1:-1:-1;;11835:88:202;11823:101;;11949:2;11940:12;;11694:264;4934:25:167;;;;-1:-1:-1;;4934:25:167;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:167;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;2594:287:178;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:178;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:178:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:178;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12301:14:202;12294:22;12289:3;12285:32;12273:45;;12343:1;12334:11;;12150:201;4085:25:178;;;;-1:-1:-1;;4085:25:178;;;;;;;;;1198:66;4034:26;:91::i;5941:246:167:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:167;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;6363:168:198;6445:79;6466:38;6483:20;6466:16;:38::i;:::-;6506:7;6515:8;6445:20;:79::i;3297:296:172:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:172;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:172;:64::i;5624:288:183:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:183;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:183;;;;5878:29;;;;;;;;:::i;5306:279:167:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:167;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2205:175:198:-;2255:30;2330:42;:40;:42::i;6512:295:167:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:167;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7030:167:198:-;7092:4;7131:17;:15;:17::i;:::-;:59;;;;;2756:37;;;7131:59;;;4284:25:202;-1:-1:-1;;;;;7131:25:198;;;;;;;4257:18:202;;7131:59:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7115:75:198;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7115:75:198;;;7030:167;-1:-1:-1;;7030:167:198:o;6279:248:183:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:183;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;12688:3:202;12684:16;;;;12702:66;12680:89;12668:102;;12795:1;12786:11;;12543:260;6477:30:183;;;;-1:-1:-1;;6477:30:183;;;;;;;;;1439:66;6426:26;:96::i;3318:662:101:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13364:98:202;13337:18;;3713:52:101;13220:248:202;3668:97:101;1759:4:22;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:101;3900:8;3936;3883:4;:92::i;12697:243:183:-;12792:16;;;12806:1;12792:16;;;;;;;;;12763:26;;12792:16;;;;;;;;;;;-1:-1:-1;12792:16:183;12763:45;;12829:8;12814:9;12824:1;12814:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;12844:91;1310:66;1294:83;;12881:9;12892:1;12913:5;12895:25;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;7334:125:198;7409:7;:5;:7::i;:::-;-1:-1:-1;;;;;7409:12:198;;7422:21;7431:11;7422:8;:21::i;:::-;7409:43;;;;;;;;;;-1:-1:-1;;;;;6327:55:202;;;7409:43:198;;;6309:74:202;6399:18;;;6392:34;;;6282:18;;7409:43:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7334:125;;:::o;7183:249:167:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:167;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12301:14:202;12294:22;12289:3;12285:32;12273:45;;12343:1;12334:11;;12150:201;4071:290:167;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:167;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:167:o;4048:97:117:-;4089:7;4111:29;:27;:29::i;10773:294:183:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:183;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:45:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:45;-1:-1:-1;;;;;15578:30:45;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:45;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:45;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:183:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:183;;;;-1:-1:-1;17879:370:183;;;-1:-1:-1;;;;;17879:370:183:o;5147:257:184:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:184:o;2640:388:169:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:169;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:169;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:169;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:169:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:169;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:169;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;4646:27:169;;;;-1:-1:-1;;4646:27:169;;;;;;;;;-1:-1:-1;;;4595:26:169;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:118:-;1133:10;1262:26;438:6;451:5:40;1262:26:118;:::i;:::-;-1:-1:-1;;1244:13:118;;:45;;451:5:40;1208:31:118;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:118;;;;;;:::o;10761:455:45:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:45;-1:-1:-1;;;;;10984:30:45;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:45;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:45;-1:-1:-1;;;;;17998:30:45;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:45;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:89:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:88:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:88;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:127:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:127;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:101:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:101;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:101;-1:-1:-1;2409:177:101;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:101;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:101;;;;;;;;;;;;:::i;6890:134:198:-;6930:17;6979:37;:35;:37::i;1836:227:45:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:45;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:45:o;32759:1315:44:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:44;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:23;;;33532:33:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:44;-1:-1:-1;33518:47:44;-1:-1:-1;894:4:39;884:15;;33573:21:44;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:44;33808:25;:14;33831:1;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:44;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:183:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:22;35423:4;35409:27;35403:34;;35277:170;17276:26:183;35409:27:22;;;35403:34;35409:27;;;35403:34;17268:35:183;;-1:-1:-1;35403:34:22;-1:-1:-1;17382:33:183;;17374:42;;;;;;;;:::i;:::-;35409:27:22;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:183;;;;17366:50;;35403:34:22;;;;-1:-1:-1;35403:34:22;-1:-1:-1;35403:34:22;;-1:-1:-1;35403:34:22;-1:-1:-1;16961:760:183;-1:-1:-1;;16961:760:183:o;23107:355:44:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:24;:27;579:1:51;4322:44:24;4288:79;;;4275:93;36635:63:44;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:45:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:45;-1:-1:-1;;;;;11771:30:45;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:45;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:127:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:127;-1:-1:-1;;;;8363:236:127:o;1761:1386:115:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:115;-1:-1:-1;;;;;;2067:27:115;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:118;2955:46;;696:18:138;2954:74:118;2432:22:115;2515:26;2954:74:118;2515:13:115;:26::i;:::-;2490:51;-1:-1:-1;2549:50:115;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:40;2637:44:118;;2539:148;2681:23:115;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:115;-1:-1:-1;;;;;;;1761:1386:115:o;348:217:136:-;551:6;545:13;538:4;530:6;526:17;519:40;4058:247:184;4159:16;;;4105:17;4159:16;;;;;;;;;4182:13;4198:64;1269:66;4130:45;4246:1;1398:66;4198:26;:64::i;4598:171:24:-;4672:7;579:1:51;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:24;;;;;4598:171;-1:-1:-1;4598:171:24:o;48823:360:44:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:44;;;;;;;;;-1:-1:-1;48986:9:44;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:24:-;5451:7;579:1:51;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:24;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:24:o;53939:303:44:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:43;;4605:137;52742:274:44;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:43:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:51;804:25:52;;782:48;6806:135:43;;;-1:-1:-1;;;579:1:51;804:25:52;;782:48;6806:135:43;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:43;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:43;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:51;804:25:52;;782:48;8389:20:43;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:43;;;;:::o;51823:242:44:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:24;4323:19;:27;;;579:1:51;4322:44:24;4288:79;;;4275:93;52003:32:44;;:::i;:::-;;-1:-1:-1;51990:3:44;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:53;17798:4:44;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:25;;;;;17851:54:44;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:44;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:53;18455:4:44;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:25;;;;;18507:53:44;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:44;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:44;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:44:o;8945:812:43:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:43;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:44:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:44;24551:49;24403:106;24582:17;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:44;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:127:-;35423:4:22;35409:27;;35403:34;35409:27;;;35403:34;8028:19:127;;8173:26;8147:53;;7963:242;;;:::o;5928:433:133:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:133;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:118:-;3550:13;3620:10;451:5:40;2637:44:118;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:118;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:118;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:102:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:126:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:126;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:126;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:126;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;5279:27:126;;;;-1:-1:-1;;5279:27:126;;;;;;;;;-1:-1:-1;;;5230:24:126;:91::i;5594:317:117:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:117;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:117;;;;-1:-1:-1;5594:317:117;-1:-1:-1;;;;;5594:317:117:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:117;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5042:669:43;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:43;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:44:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:44;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:44:o;3658:342:49:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:49;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:25:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:43:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::39;884:15;;758:151;1098:24:43;1055:5;:68::i;44254:4001:44:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12092:19:202;;12136:2;12127:12;;11963:182;44775:25:44;;;;-1:-1:-1;;44775:25:44;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:44;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:44;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;22538:12:202;22577:15;;;45340:92:44;;;22559:34:202;22629:15;;;22609:18;;;22602:43;22681:15;;22661:18;;;22654:43;22501:18;;45340:92:44;22332:371:202;45221:218:44;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;22881:25:202;;;22954:12;22942:25;;22922:18;;;22915:53;22854:18;;45581:74:44;22708:266:202;45522:140:44;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:53;46104:4:44;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:25;;;;-1:-1:-1;;;;;46158:55:44;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:44;;46014:486;;;-1:-1:-1;46558:32:44;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:44;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:43;;;-1:-1:-1;47216:248:44;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:53;47858:4:44;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:25;;;;-1:-1:-1;;;;;47911:54:44;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:44;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:133:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:118:-;3228:7;3292:26;438:6;451:5:40;3292:26:118;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:118:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:118;;3261:1:22;3257:13;;3253:24;2007:42:118;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;24819:79:202;;2092:30:118;;;24807:92:202;2092:30:118;;24915:12:202;;;;2092:30:118;;;875:21:22;;;2092:30:118;2142:39;760:164:22;955:327:102;1036:4;1178:56;696:18:138;578:36:118;2955:46;;2954:74;1227:6:102;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:117:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;37180:522:44:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:23;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:44;37440:12;:257::i;2003:574:42:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:42;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:42:o;40103:220:55:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:43:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:51;804:25:52;;782:48;2208:18:43;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:43;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:43;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:51;804:25:52;;782:48;3761:21:43;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:43;;;;:::o;7468:1525:23:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:202;;;4257:18;;7664:67:23;4138:177:202;7618:120:23;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:23;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:23;;;;;:::o;7448:223:133:-;35423:4:22;35409:27;;35403:34;35409:27;;;35403:34;7564:35:133;;;;;;7513:14;;7631:33;;7623:42;6862:97:178;4006:378:130;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:130;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:130;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:178;6862:97;2681:1129:57;2801:22;2831:21;2855;:11;2997:3:42;2975:25;;2901:104;2855:21:57;2831:45;-1:-1:-1;692:17:42;3238:38;;2882:20:57;3044:11;3238:38:42;3044:11:57;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:202:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:202;;14:180;-1:-1:-1;14:180:202:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:202;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:202;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1419:777;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:202;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:202;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:202;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:202:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:202;3037:15;-1:-1:-1;;3033:88:202;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:202:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:202;3925:18;;3912:32;;-1:-1:-1;3995:2:202;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:234::-;4832:2;4817:18;;4844:37;4874:6;4844:37;:::i;:::-;4890:25;;;4687:234;:::o;4926:405::-;5016:6;5024;5032;5085:2;5073:9;5064:7;5060:23;5056:32;5053:52;;;5101:1;5098;5091:12;5053:52;5137:9;5124:23;5114:33;;5194:2;5183:9;5179:18;5166:32;5156:42;;5248:2;5237:9;5233:18;5220:32;5281:1;5274:5;5271:12;5261:40;;5297:1;5294;5287:12;5261:40;5320:5;5310:15;;;4926:405;;;;;:::o;5336:390::-;5414:6;5422;5475:2;5463:9;5454:7;5450:23;5446:32;5443:52;;;5491:1;5488;5481:12;5443:52;5527:9;5514:23;5504:33;;5588:2;5577:9;5573:18;5560:32;5615:18;5607:6;5604:30;5601:50;;;5647:1;5644;5637:12;5601:50;5670;5712:7;5703:6;5692:9;5688:22;5670:50;:::i;:::-;5660:60;;;5336:390;;;;;:::o;6437:250::-;6522:1;6532:113;6546:6;6543:1;6540:13;6532:113;;;6622:11;;;6616:18;6603:11;;;6596:39;6568:2;6561:10;6532:113;;;-1:-1:-1;;6679:1:202;6661:16;;6654:27;6437:250::o;6692:329::-;6733:3;6771:5;6765:12;6798:6;6793:3;6786:19;6814:76;6883:6;6876:4;6871:3;6867:14;6860:4;6853:5;6849:16;6814:76;:::i;:::-;6935:2;6923:15;-1:-1:-1;;6919:88:202;6910:98;;;;7010:4;6906:109;;6692:329;-1:-1:-1;;6692:329:202:o;7026:320::-;7233:6;7222:9;7215:25;7276:2;7271;7260:9;7256:18;7249:30;7196:4;7296:44;7336:2;7325:9;7321:18;7313:6;7296:44;:::i;7351:442::-;7404:5;7457:3;7450:4;7442:6;7438:17;7434:27;7424:55;;7475:1;7472;7465:12;7424:55;7504:6;7498:13;7535:49;7551:32;7580:2;7551:32;:::i;7535:49::-;7609:2;7600:7;7593:19;7655:3;7648:4;7643:2;7635:6;7631:15;7627:26;7624:35;7621:55;;;7672:1;7669;7662:12;7621:55;7685:77;7759:2;7752:4;7743:7;7739:18;7732:4;7724:6;7720:17;7685:77;:::i;7798:335::-;7877:6;7930:2;7918:9;7909:7;7905:23;7901:32;7898:52;;;7946:1;7943;7936:12;7898:52;7979:9;7973:16;8012:18;8004:6;8001:30;7998:50;;;8044:1;8041;8034:12;7998:50;8067:60;8119:7;8110:6;8099:9;8095:22;8067:60;:::i;8486:184::-;-1:-1:-1;;;8535:1:202;8528:88;8635:4;8632:1;8625:15;8659:4;8656:1;8649:15;8675:125;8740:9;;;8761:10;;;8758:36;;;8774:18;;:::i;8805:195::-;8844:3;-1:-1:-1;;8868:5:202;8865:77;8862:103;;8945:18;;:::i;:::-;-1:-1:-1;8992:1:202;8981:13;;8805:195::o;9005:251::-;9075:6;9128:2;9116:9;9107:7;9103:23;9099:32;9096:52;;;9144:1;9141;9134:12;9096:52;9176:9;9170:16;9195:31;9220:5;9195:31;:::i;10021:423::-;10242:6;10231:9;10224:25;10258:37;10288:6;10258:37;:::i;:::-;10331:6;10326:2;10315:9;10311:18;10304:34;10374:2;10369;10358:9;10354:18;10347:30;10205:4;10394:44;10434:2;10423:9;10419:18;10411:6;10394:44;:::i;11505:184::-;-1:-1:-1;;;11554:1:202;11547:88;11654:4;11651:1;11644:15;11678:4;11675:1;11668:15;12808:407;12891:5;12931;12925:12;12973:4;12966:5;12962:16;12956:23;12998:66;13090:2;13086;13082:11;13073:20;;13116:1;13108:6;13105:13;13102:107;;;13196:2;13190;13180:6;13177:1;13173:14;13170:1;13166:22;13162:31;13158:2;13154:40;13150:49;13141:58;;13102:107;;;;12808:407;;;:::o;13473:439::-;13526:3;13564:5;13558:12;13591:6;13586:3;13579:19;13617:4;13646;13641:3;13637:14;13630:21;;13685:4;13678:5;13674:16;13708:1;13718:169;13732:6;13729:1;13726:13;13718:169;;;13793:13;;13781:26;;13827:12;;;;13862:15;;;;13754:1;13747:9;13718:169;;;-1:-1:-1;13903:3:202;;13473:439;-1:-1:-1;;;;;13473:439:202:o;13917:468::-;14217:6;14206:9;14199:25;14260:2;14255;14244:9;14240:18;14233:30;14180:4;14280:56;14332:2;14321:9;14317:18;14309:6;14280:56;:::i;:::-;14272:64;;14372:6;14367:2;14356:9;14352:18;14345:34;13917:468;;;;;;:::o;14390:655::-;14532:6;14540;14548;14601:2;14589:9;14580:7;14576:23;14572:32;14569:52;;;14617:1;14614;14607:12;14569:52;14650:9;14644:16;14679:18;14720:2;14712:6;14709:14;14706:34;;;14736:1;14733;14726:12;14706:34;14759:60;14811:7;14802:6;14791:9;14787:22;14759:60;:::i;:::-;14749:70;;14859:2;14848:9;14844:18;14838:25;14828:35;;14909:2;14898:9;14894:18;14888:25;14872:41;;14938:2;14928:8;14925:16;14922:36;;;14954:1;14951;14944:12;14922:36;;14977:62;15031:7;15020:8;15009:9;15005:24;14977:62;:::i;15050:709::-;15420:6;15409:9;15402:25;15463:3;15458:2;15447:9;15443:18;15436:31;15383:4;15490:57;15542:3;15531:9;15527:19;15519:6;15490:57;:::i;:::-;15595:4;15587:6;15583:17;15578:2;15567:9;15563:18;15556:45;15649:9;15641:6;15637:22;15632:2;15621:9;15617:18;15610:50;15677:32;15702:6;15694;15677:32;:::i;:::-;15669:40;;;15746:6;15740:3;15729:9;15725:19;15718:35;15050:709;;;;;;;;:::o;15764:548::-;16088:6;16077:9;16070:25;16131:3;16126:2;16115:9;16111:18;16104:31;16051:4;16152:57;16204:3;16193:9;16189:19;16181:6;16152:57;:::i;:::-;16257:4;16245:17;;;;16240:2;16225:18;;16218:45;-1:-1:-1;16294:2:202;16279:18;16272:34;16144:65;15764:548;-1:-1:-1;;15764:548:202:o;16317:184::-;16387:6;16440:2;16428:9;16419:7;16415:23;16411:32;16408:52;;;16456:1;16453;16446:12;16408:52;-1:-1:-1;16479:16:202;;16317:184;-1:-1:-1;16317:184:202:o;16506:175::-;16543:3;16587:4;16580:5;16576:16;16616:4;16607:7;16604:17;16601:43;;16624:18;;:::i;:::-;16673:1;16660:15;;16506:175;-1:-1:-1;;16506:175:202:o;16686:604::-;16995:6;16984:9;16977:25;17038:3;17033:2;17022:9;17018:18;17011:31;16958:4;17065:57;17117:3;17106:9;17102:19;17094:6;17065:57;:::i;:::-;17170:4;17162:6;17158:17;17153:2;17142:9;17138:18;17131:45;17224:9;17216:6;17212:22;17207:2;17196:9;17192:18;17185:50;17252:32;17277:6;17269;17252:32;:::i;:::-;17244:40;16686:604;-1:-1:-1;;;;;;;16686:604:202:o;17622:128::-;17689:9;;;17710:11;;;17707:37;;;17724:18;;:::i;17755:168::-;17828:9;;;17859;;17876:15;;;17870:22;;17856:37;17846:71;;17897:18;;:::i;17928:640::-;18179:6;18174:3;18167:19;18149:3;18205:2;18238;18233:3;18229:12;18270:6;18264:13;18335:2;18327:6;18323:15;18356:1;18366:175;18380:6;18377:1;18374:13;18366:175;;;18443:13;;18429:28;;18479:14;;;;18516:15;;;;18402:1;18395:9;18366:175;;;-1:-1:-1;18557:5:202;;17928:640;-1:-1:-1;;;;;;;17928:640:202:o;18573:184::-;-1:-1:-1;;;18622:1:202;18615:88;18722:4;18719:1;18712:15;18746:4;18743:1;18736:15;18762:511;19013:2;19002:9;18995:21;18976:4;19039:56;19091:2;19080:9;19076:18;19068:6;19039:56;:::i;:::-;19143:14;19135:6;19131:27;19126:2;19115:9;19111:18;19104:55;19207:9;19199:6;19195:22;19190:2;19179:9;19175:18;19168:50;19235:32;19260:6;19252;19235:32;:::i;19278:616::-;19589:6;19578:9;19571:25;19632:3;19627:2;19616:9;19612:18;19605:31;19552:4;19659:57;19711:3;19700:9;19696:19;19688:6;19659:57;:::i;:::-;19764:14;19756:6;19752:27;19747:2;19736:9;19732:18;19725:55;19828:9;19820:6;19816:22;19811:2;19800:9;19796:18;19789:50;19856:32;19881:6;19873;19856:32;:::i;19899:925::-;20348:66;20340:6;20336:79;20331:3;20324:92;20306:3;20435;20467:2;20463:1;20458:3;20454:11;20447:23;20499:6;20493:13;20515:74;20582:6;20578:1;20573:3;20569:11;20562:4;20554:6;20550:17;20515:74;:::i;:::-;20617:6;20612:3;20608:16;20598:26;;20652:2;20648:1;20644:2;20640:10;20633:22;20686:6;20680:13;20664:29;;20702:75;20768:8;20764:1;20760:2;20756:10;20749:4;20741:6;20737:17;20702:75;:::i;:::-;20797:17;20816:1;20793:25;;19899:925;-1:-1:-1;;;;;19899:925:202:o;20829:339::-;21006:2;20995:9;20988:21;20969:4;21026:44;21066:2;21055:9;21051:18;21043:6;21026:44;:::i;:::-;21018:52;;-1:-1:-1;;;;;21110:6:202;21106:55;21101:2;21090:9;21086:18;21079:83;20829:339;;;;;:::o;21173:287::-;21302:3;21340:6;21334:13;21356:66;21415:6;21410:3;21403:4;21395:6;21391:17;21356:66;:::i;:::-;21438:16;;;;;21173:287;-1:-1:-1;;21173:287:202:o;21684:464::-;21931:66;21923:6;21919:79;21908:9;21901:98;22035:6;22030:2;22019:9;22015:18;22008:34;22078:2;22073;22062:9;22058:18;22051:30;21882:4;22098:44;22138:2;22127:9;22123:18;22115:6;22098:44;:::i;22153:174::-;22220:12;22252:10;;;22264;;;22248:27;;22287:11;;;22284:37;;;22301:18;;:::i;:::-;22284:37;22153:174;;;;:::o;22979:901::-;23404:6;23393:9;23386:25;23447:3;23442:2;23431:9;23427:18;23420:31;23367:4;23474:57;23526:3;23515:9;23511:19;23503:6;23474:57;:::i;:::-;23579:4;23567:17;;23562:2;23547:18;;23540:45;23604:12;23652:15;;;23647:2;23632:18;;23625:43;23705:15;;23699:3;23684:19;;23677:44;23752:3;23737:19;;23730:35;;;23802:22;;;23796:3;23781:19;;23774:51;23842:32;23806:6;23859;23842:32;:::i;:::-;23834:40;22979:901;-1:-1:-1;;;;;;;;;;22979:901:202:o;23885:788::-;24250:3;24239:9;24232:22;24213:4;24277:57;24329:3;24318:9;24314:19;24306:6;24277:57;:::i;:::-;24382:4;24374:6;24370:17;24365:2;24354:9;24350:18;24343:45;24436:14;24428:6;24424:27;24419:2;24408:9;24404:18;24397:55;24500:12;24492:6;24488:25;24483:2;24472:9;24468:18;24461:53;24551:6;24545:3;24534:9;24530:19;24523:35;24607:9;24599:6;24595:22;24589:3;24578:9;24574:19;24567:51;24635:32;24660:6;24652;24635:32;:::i;:::-;24627:40;23885:788;-1:-1:-1;;;;;;;;;23885:788:202:o;24938:530::-;25123:3;25161:6;25155:13;25177:66;25236:6;25231:3;25224:4;25216:6;25212:17;25177:66;:::i;:::-;25312:2;25308:15;;;;-1:-1:-1;;25304:88:202;25265:16;;;;25290:103;;;25420:2;25409:14;;25402:30;;;;25459:2;25448:14;;24938:530;-1:-1:-1;;24938:530:202:o;25473:359::-;25676:2;25665:9;25658:21;25639:4;25696:44;25736:2;25725:9;25721:18;25713:6;25696:44;:::i;:::-;25771:2;25756:18;;25749:34;;;;-1:-1:-1;25814:2:202;25799:18;25792:34;25688:52;25473:359;-1:-1:-1;25473:359:202:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0\",\"dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0xfc85a0b615631dc5cfa9fefb0ef067e158019cf8d7836a8eafc1b4a0a3888907\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d55df21afe9e4517492081158714ea00bb33cf5ee06b0861ddda1d5cf06b7f56\",\"dweb:/ipfs/QmWoZThPDga5cs28BSkHGw173WwQRMVC14kEHZQcSb5t2z\"]},\"src/utils.sol\":{\"keccak256\":\"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c\",\"dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf","urls":["bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0","dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0xfc85a0b615631dc5cfa9fefb0ef067e158019cf8d7836a8eafc1b4a0a3888907","urls":["bzz-raw://d55df21afe9e4517492081158714ea00bb33cf5ee06b0861ddda1d5cf06b7f56","dweb:/ipfs/QmWoZThPDga5cs28BSkHGw173WwQRMVC14kEHZQcSb5t2z"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf346e5e55e21a06c5337887dbecefccdd3e3f001c7b461875bb69242e1bda1c5","urls":["bzz-raw://9dae95bc79f3143fdaef0c92d0ffca7521609c12319aee4fb2f994ba548e279c","dweb:/ipfs/QmbbhHcQcnGWVmfnbg9vLdAnjCA38BAJq3omoLEF4o5kbx"],"license":"MIT"}},"version":1},"id":198}
\ No newline at end of file
+{"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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061484c806100206000396000f3fe6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc57806323801570116100e1578063238015701461022b57806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd5780631ecb393f1461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613d64565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b610186366004613d7d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613d64565b61043f565b6040516101629190613df6565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613f31565b61045f565b604051908152602001610162565b34801561021757600080fd5b506101fd610226366004613d64565b6106c1565b34801561023757600080fd5b5061024b610246366004613d64565b61073f565b6040516101629190613f8a565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613d64565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613d64565b610755565b6102c36102be366004613f9d565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613d64565b6109f9565b3480156102f157600080fd5b506102c3610300366004613fda565b610a8e565b34801561031157600080fd5b506102c3610320366004613d64565b610aff565b34801561033157600080fd5b5061014e610340366004613d64565b610ccf565b34801561035157600080fd5b5061014e610cda565b34801561036657600080fd5b506101fd610375366004613d64565b610ce4565b34801561038657600080fd5b506101fd610395366004613d64565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610447613d0e565b61043982610cef565b600061045a610da1565b905090565b60008061046a610dd3565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610cda565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610e06565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401614071565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261062491908101906140cf565b5061062e816109f9565b915061063a8286610e53565b6106448282610f22565b61064d84610fa1565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001611046565b6106af82856110ff565b6106b9818461117e565b509392505050565b60006106cd60136111b1565b82106106db57506014919050565b60005b601481101561073957826106f1826111b1565b1115801561071057508261070e61070983600161411a565b6111b1565b115b156107275761072081600161411a565b9150610739565b806107318161412d565b9150506106de565b50919050565b60006104398261122d565b6000610439826112d7565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d611369565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190614147565b60015b15610862576107f0611369565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190614147565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a82611373565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611405565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e83836114c1565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401614164565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526115aa565b5050505050565b600080610a04611369565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190614147565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611405565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff83168261117e565b5050565b610b0881611405565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d81611373565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b6000610bb582610cef565b600160e0820152608081015160a08201529050610bd28282611658565b610bda610cda565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50505050610c65610cda565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610c9291815260200190565b600060405180830381600087803b158015610cac57600080fd5b505af1158015610cc0573d6000803e3d6000fd5b50505050610afb826001611709565b60006104398261178d565b600061045a61182a565b600061043982611834565b610cf7613d0e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d2d57610d2d61418c565b602090810291909101015260008080610d867f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006118c6565b925092509250610d97838383611996565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610dd05750335b90565b600080610dde611a0e565b90506000610ded826000611a76565b610df890600161411a565b905061043982600083611b27565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611bf7565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e8957610e8961418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610ee8919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611c6f565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f5857610f5861418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610ee891815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610fda57610fda61418c565b602090810291909101015260006110327f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611d24565b905061103e8160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061107c5761107c61418c565b602002602001018181525050610f1d7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016110ca91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611c6f565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106111355761113561418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610ee891815260200190565b610afb6111aa7f4368617261637465727300000000000000000000000000000000000000000000611de1565b8383611e2e565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111ed576111ed61418c565b6020908102919091010152600061103e7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611d24565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112665761126661418c565b602090810291909101015260006112bf7f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611d24565b905060f881901c600281111561103e5761103e613dbf565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113105761131061418c565b6020908102919091010152600061103e7f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611d24565b600061045a611a0e565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113ac576113ac61418c565b602090810291909101015260006110327f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611d24565b600061140f611369565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190614147565b6001600160a01b03166114b1610450565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106114f7576114f761418c565b6020908102919091010152610f1d7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561153a5761153a613dbf565b604051602001611575919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611c6f565b60606000806115c06115bb856141a2565b611e80565b91509150816000801b03611626576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168217905261103e8285611f50565b600061168a826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161202b565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106116c9576116c961418c565b60209081029190910101526117017f746255440000000000000000000000005374617473000000000000000000000082868686612069565b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061173f5761173f61418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610ee891151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117c6576117c661418c565b6020908102919091010152600061181f7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611d24565b60601c949350505050565b600061045a6120df565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061186d5761186d61418c565b6020908102919091010152600061103e7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611d24565b60606000606060006118d66120df565b9050306001600160a01b038216036118ff576118f387878761211e565b9350935093505061198d565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611948908a908a908a9060040161422e565b600060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118f39190810190614257565b93509350939050565b61199e613d0e565b6119a784612226565b60e0890181905260c0890182905260a0890183905260808901849052606089018590528860208101604082018860028111156119e5576119e5613dbf565b60028111156119f6576119f6613dbf565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611a6c7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611d24565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611abb57611abb61418c565b6020026020010181815250508260001b81600181518110611ade57611ade61418c565b60209081029190910101526000611b1e7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611d24565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611b6857611b6861418c565b6020026020010181815250508260001b81600181518110611b8b57611b8b61418c565b602002602001018181525050611bf17f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611bd491815260200190565b60408051601f19818403018152919052630100080160dd1b611c6f565b50505050565b6000611c056070601061411a565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611c796120df565b9050306001600160a01b03821603611c9d57611c988686868686612294565b611701565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611cea90899089908990899089906004016142ba565b600060405180830381600087803b158015611d0457600080fd5b505af1158015611d18573d6000803e3d6000fd5b50505050505050505050565b600080611d2f6120df565b9050306001600160a01b03821603611d5557611d4d868686866122a9565b91505061103e565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611da0908990899089908990600401614301565b602060405180830381865afa158015611dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d9190614330565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611bf7565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611e6757611e6761418c565b602002602001018181525050611bf184826000856122d6565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611ed957611ed961418c565b602090810291909101015260008080611f327f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006118c6565b925092509250611f43838383612387565b9550955050505050915091565b60606000611f5c61182a565b90506001600160a01b0381163003611f9d576000611f84611f7b610da1565b6000878761239f565b9350905080611f9657611f96836124da565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611fe49087908790600401614071565b6000604051808303816000875af1158015612003573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261103e91908101906140cf565b6060888888888888888860405160200161204c989796959493929190614349565b604051602081830303815290604052905098975050505050505050565b60006120736120df565b9050306001600160a01b0382160361209257611c9886868686866124e2565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611cea908990899089908990899060040161438e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612119573391505090565b919050565b606060006060600061212f856124f8565b905061213c87878361251b565b9350600061214986612554565b9050801561221b5761215b8888612591565b935066ffffffffffffff841667ffffffffffffffff81111561217f5761217f613e6c565b6040519080825280601f01601f1916602001820160405280156121a9576020820181803683370190505b5092506020830160005b828160ff1610156122185760006121cb8b8b846125a4565b905060006121e8888460ff166028026038011c64ffffffffff1690565b90506121f78260008387612624565b612201818561411a565b935050508080612210906143df565b9150506121b3565b50505b505093509350939050565b600080600080600080600080612240896000016020015190565b60408a015160608b0151919950975060f81c600281111561226357612263613dbf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f285856122a384876126f0565b85612721565b6000611b1e6122b886866129c5565b60ff858116601b0360080285901c166122d185876126f0565b612a1b565b60006122e06120df565b9050306001600160a01b03821603612303576122fe85858585612a6c565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061234e9088908890889088906004016143fe565b600060405180830381600087803b15801561236857600080fd5b505af115801561237c573d6000803e3d6000fd5b505050505050505050565b60008061239385612aa7565b90969095509350505050565b600060606000806123af86612abc565b90925090506001600160a01b03821661240057856123cc87612b60565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190614071565b8061240f5761240f8689612c8e565b861561247b577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061246382612cda565b9050612478826124738b8461411a565b612d53565b50505b60006124878760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146124bf576124ba88888488612def565b6124cb565b6124cb88888488612e67565b90999098509650505050505050565b805160208201fd5b6109f285858585856124f38b612ec8565b612f4d565b600060086125086002602061443d565b6125129190614450565b9190911c919050565b60608160000361253a5750604080516020810190915260008152611c68565b600061254685856129c5565b9050611b1e81600085613286565b600060086001806125676002602061443d565b612571919061443d565b61257b919061443d565b6125859190614450565b8260ff911c1692915050565b6000611c686125a084846132a9565b5490565b600083836040516020016125b9929190614467565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156126ab576020831061264e5760208304840193506020838161264a5761264a6144a3565b0692505b82156126ab5760208390036000818410156126715750600019600884021c61267b565b50600019600882021c5b8554600886021b81845116821982161784525081841161269c575050611bf1565b50600194909401939182900391015b5b602082106126cd5783548152600190930192601f19909101906020016126ac565b8115611bf1576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761271760ff601b83900360080287901c168361411a565b91506001016126f5565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036127ab57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161279e939291906144b9565b60405180910390a2611bf1565b60006127b785856129c5565b905060006127c4866132ff565b905060005b81518110156128995760008282815181106127e6576127e661418c565b602002602001015190506128126004826affffffffffffffffffffff191661338890919063ffffffff16565b15612890576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061285d908b908b908b908b906004016144ec565b600060405180830381600087803b15801561287757600080fd5b505af115801561288b573d6000803e3d6000fd5b505050505b506001016127c9565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516128ce939291906144b9565b60405180910390a26128e9828565ffffffffffff16856133a6565b60005b81518110156129bc5760008282815181106129095761290961418c565b602002602001015190506129356008826affffffffffffffffffffff191661338890919063ffffffff16565b156129b3576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612980908b908b908b908b906004016144ec565b600060405180830381600087803b15801561299a57600080fd5b505af11580156129ae573d6000803e3d6000fd5b505050505b506001016128ec565b50505050505050565b600082826040516020016129da929190614467565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612a4157602082048401935060208281612a3d57612a3d6144a3565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612a788585612591565b90506000612a95828560ff166028026038011c64ffffffffff1690565b905061170186868660008588886133bc565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612af657612af661418c565b602090810291909101015260008080612b4f7f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061211e565b925092509250611f438383836137f6565b606081601081901b6000612b7383613802565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612bce57612bc97fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613819565b612c05565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612c2c57612c2783613819565b612c63565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612c7593929190614525565b6040516020818303038152906040529350505050919050565b612c98828261389f565b610afb57612ca582612b60565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e99291906145b3565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612d1357612d1361418c565b6020908102919091010152600061103e7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6122a9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612d8957612d8961418c565b602002602001018181525050610f1d7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612dd291815260200190565b60408051601f19818403018152919052630100080160dd1b612294565b60006060836001600160a01b03166000612e0a8589896138fd565b604051612e1791906145de565b60006040518083038185875af1925050503d8060008114612e54576040519150601f19603f3d011682016040523d82523d6000602084013e612e59565b606091505b509097909650945050505050565b60006060836001600160a01b0316612e808488886138fd565b604051612e8d91906145de565b600060405180830381855af49150503d8060008114612e54576040519150601f19603f3d011682016040523d82523d6000602084013e612e59565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201612f1757507e60030220202000000000000000000000000000000000000000000000000000919050565b610439612f447f746273746f72650000000000000000005461626c6573000000000000000000008461392c565b60206000612a1b565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612fd957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612fcc94939291906145fa565b60405180910390a2611701565b6000612fe4876132ff565b905060005b81518110156130bd5760008282815181106130065761300661418c565b602002602001015190506130326001826affffffffffffffffffffff191661338890919063ffffffff16565b156130b4576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613081908c908c908c908c908c908c90600401614639565b600060405180830381600087803b15801561309b57600080fd5b505af11580156130af573d6000803e3d6000fd5b505050505b50600101612fe9565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516130f494939291906145fa565b60405180910390a2600061310888886129c5565b90506000602087019050613120826000895184613948565b600061312b85612554565b11156131af57600061313d8a8a6132a9565b878155905060208601915060008060005b61315788612554565b8160ff1610156131aa5761316c8d8d836125a4565b92506131878a8260ff166028026038011c64ffffffffff1690565b91506131968360008488613948565b6131a0828661411a565b945060010161314e565b505050505b60005b8351811015611d185760008482815181106131cf576131cf61418c565b602002602001015190506131fb6002826affffffffffffffffffffff191661338890919063ffffffff16565b1561327d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061324a908e908e908e908e908e908e90600401614639565b600060405180830381600087803b15801561326457600080fd5b505af1158015613278573d6000803e3d6000fd5b505050505b506001016131b2565b60405160208101601f19603f84840101166040528282526106b985858584612624565b600082826040516020016132be929190614467565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106133395761333961418c565b602090810291909101015260006133717f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613a07565b905061103e6133838260008451613a41565b613acf565b60008160ff16826133998560581c90565b1660ff1614905092915050565b610f1d838383516133b78560200190565b613948565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461347c577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161343a91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614692565b6000613497828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836134b0919061443d565b6134ba919061411a565b90508082141580156134dc5750816134d286886146d3565b64ffffffffff1614155b1561352c576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff16111561357d576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b600061358a848984613ae0565b905060006135978b6132ff565b905060005b81518110156136625760008282815181106135b9576135b961418c565b602002602001015190506135e56010826affffffffffffffffffffff191661338890919063ffffffff16565b1561365957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161362697969594939291906146f8565b600060405180830381600087803b15801561364057600080fd5b505af1158015613654573d6000803e3d6000fd5b505050505b5060010161359c565b5064ffffffffff881660005b8a60ff168160ff1610156136a157613695878260ff166028026038011c64ffffffffff1690565b9091019060010161366e565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516136dc96959493929190614756565b60405180910390a2508284146136fd5760006136f88c8c6132a9565b839055505b600061370a8c8c8c6125a4565b905061371e818a64ffffffffff16896133a6565b5060005b81518110156137e857600082828151811061373f5761373f61418c565b6020026020010151905061376b6020826affffffffffffffffffffff191661338890919063ffffffff16565b156137df57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016137ac97969594939291906146f8565b600060405180830381600087803b1580156137c657600080fd5b505af11580156137da573d6000803e3d6000fd5b505050505b50600101613722565b505050505050505050505050565b60008061239385613bae565b60006138106070601061411a565b9190911b919050565b606060005b601081101561386f576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561386f5760010161381e565b604080516fffffffffffffffffffffffffffffffff1985166020820152815160309091019091528181528061103e565b60006138ed7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613bca565b80611c685750611c688383613bca565b6060838383604051602001613914939291906147b2565b60405160208183030381529060405290509392505050565b60408051602081018490529081018290526000906060016129da565b82156139c257602083106139725760208304840193506020838161396e5761396e6144a3565b0692505b82156139c25760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116139b3575050611bf1565b50600194909401939182900391015b5b602082106139e45780518455600190930192601f19909101906020016139c3565b8115611bf1576000600019600884021c8554835182191691161785555050505050565b606061103e613a178585856125a4565b6000613a3c85613a278989612591565b9060ff166028026038011c64ffffffffff1690565b613286565b600081831180613a515750835182115b15613a8e578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906147f1565b60208401613a9c848261411a565b90506000613aaa858561443d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611c688360156000613c93565b600064ffffffffff821115613b24576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613b565780850382019150613b5e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612ab5565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613c0357613c0361418c565b602002602001018181525050826001600160a01b031660001b81600181518110613c2f57613c2f61418c565b60209081029190910101526000613c877f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006122a9565b9050611b1e8160f81c90565b60606000613ca18560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613cc757613cc76144a3565b04905060405193506020840160208202810160405281855260005b82811015613d02578451871c825293870193602090910190600101613ce2565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613d3b57613d3b613dbf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613d7657600080fd5b5035919050565b600060208284031215613d8f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c6857600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613df357634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613e1881613dd5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613df357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613eab57613eab613e6c565b604052919050565b600067ffffffffffffffff821115613ecd57613ecd613e6c565b50601f01601f191660200190565b600082601f830112613eec57600080fd5b8135613eff613efa82613eb3565b613e82565b818152846020838601011115613f1457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f4657600080fd5b8335613f5181613e57565b925060208401359150604084013567ffffffffffffffff811115613f7457600080fd5b613f8086828701613edb565b9150509250925092565b60208101613f9783613dd5565b91905290565b600080600060608486031215613fb257600080fd5b8335925060208401359150604084013560038110613fcf57600080fd5b809150509250925092565b60008060408385031215613fed57600080fd5b82359150602083013567ffffffffffffffff81111561400b57600080fd5b61401785828601613edb565b9150509250929050565b60005b8381101561403c578181015183820152602001614024565b50506000910152565b6000815180845261405d816020860160208601614021565b601f01601f19169290920160200192915050565b82815260406020820152600061103e6040830184614045565b600082601f83011261409b57600080fd5b81516140a9613efa82613eb3565b8181528460208386010111156140be57600080fd5b61103e826020830160208701614021565b6000602082840312156140e157600080fd5b815167ffffffffffffffff8111156140f857600080fd5b61103e8482850161408a565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439614104565b6000600019820361414057614140614104565b5060010190565b60006020828403121561415957600080fd5b8151611c6881613e57565b83815261417083613dd5565b826020820152606060408201526000611b1e6060830184614045565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156141ea5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561422357815187529582019590820190600101614207565b509495945050505050565b83815260606020820152600061424760608301856141f2565b9050826040830152949350505050565b60008060006060848603121561426c57600080fd5b835167ffffffffffffffff8082111561428457600080fd5b6142908783880161408a565b94506020860151935060408601519150808211156142ad57600080fd5b50613f808682870161408a565b85815260a0602082015260006142d360a08301876141f2565b60ff8616604084015282810360608401526142ee8186614045565b9150508260808301529695505050505050565b84815260806020820152600061431a60808301866141f2565b60ff949094166040830152506060015292915050565b60006020828403121561434257600080fd5b5051919050565b88815287602082015261435b87613dd5565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006143a760a08301876141f2565b82810360408401526143b98187614045565b905084606084015282810360808401526143d38185614045565b98975050505050505050565b600060ff821660ff81036143f5576143f5614104565b60010192915050565b84815260806020820152600061441760808301866141f2565b60ff8516604084015282810360608401526144328185614045565b979650505050505050565b8181038181111561043957610439614104565b808202811582820484141761043957610439614104565b8281526000602080830184516020860160005b828110156144965781518452928401929084019060010161447a565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006144cc60608301866141f2565b65ffffffffffff851660208401528281036040840152610d978185614045565b84815260806020820152600061450560808301866141f2565b65ffffffffffff8516604084015282810360608401526144328185614045565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614586816003860160208901614021565b8084019050816003820152845191506145a6826004830160208801614021565b0160040195945050505050565b6040815260006145c66040830185614045565b90506001600160a01b03831660208301529392505050565b600082516145f0818460208701614021565b9190910192915050565b60808152600061460d60808301876141f2565b828103602084015261461f8187614045565b905084604084015282810360608401526144328185614045565b86815260c06020820152600061465260c08301886141f2565b82810360408401526146648188614045565b9050856060840152828103608084015261467e8186614045565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611b1e6060830184614045565b64ffffffffff8181168382160190808211156146f1576146f1614104565b5092915050565b87815260e06020820152600061471160e08301896141f2565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147488185614045565b9a9950505050505050505050565b60c08152600061476960c08301896141f2565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526147a58185614045565b9998505050505050505050565b600084516147c4818460208901614021565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006148046060830186614045565b6020830194909452506040015291905056fea264697066735822122086d244e76566d88f08574505a94c682c41e0427c140ef488ae6e6840ef8c383e64736f6c63430008180033","sourceMap":"1812:6136:211:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc57806323801570116100e1578063238015701461022b57806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd5780631ecb393f1461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613d64565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b610186366004613d7d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613d64565b61043f565b6040516101629190613df6565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613f31565b61045f565b604051908152602001610162565b34801561021757600080fd5b506101fd610226366004613d64565b6106c1565b34801561023757600080fd5b5061024b610246366004613d64565b61073f565b6040516101629190613f8a565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613d64565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613d64565b610755565b6102c36102be366004613f9d565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613d64565b6109f9565b3480156102f157600080fd5b506102c3610300366004613fda565b610a8e565b34801561031157600080fd5b506102c3610320366004613d64565b610aff565b34801561033157600080fd5b5061014e610340366004613d64565b610ccf565b34801561035157600080fd5b5061014e610cda565b34801561036657600080fd5b506101fd610375366004613d64565b610ce4565b34801561038657600080fd5b506101fd610395366004613d64565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610447613d0e565b61043982610cef565b600061045a610da1565b905090565b60008061046a610dd3565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610cda565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610e06565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401614071565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261062491908101906140cf565b5061062e816109f9565b915061063a8286610e53565b6106448282610f22565b61064d84610fa1565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001611046565b6106af82856110ff565b6106b9818461117e565b509392505050565b60006106cd60136111b1565b82106106db57506014919050565b60005b601481101561073957826106f1826111b1565b1115801561071057508261070e61070983600161411a565b6111b1565b115b156107275761072081600161411a565b9150610739565b806107318161412d565b9150506106de565b50919050565b60006104398261122d565b6000610439826112d7565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d611369565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190614147565b60015b15610862576107f0611369565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190614147565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a82611373565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611405565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e83836114c1565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401614164565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526115aa565b5050505050565b600080610a04611369565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190614147565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611405565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff83168261117e565b5050565b610b0881611405565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d81611373565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b6000610bb582610cef565b600160e0820152608081015160a08201529050610bd28282611658565b610bda610cda565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50505050610c65610cda565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610c9291815260200190565b600060405180830381600087803b158015610cac57600080fd5b505af1158015610cc0573d6000803e3d6000fd5b50505050610afb826001611709565b60006104398261178d565b600061045a61182a565b600061043982611834565b610cf7613d0e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d2d57610d2d61418c565b602090810291909101015260008080610d867f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006118c6565b925092509250610d97838383611996565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610dd05750335b90565b600080610dde611a0e565b90506000610ded826000611a76565b610df890600161411a565b905061043982600083611b27565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611bf7565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e8957610e8961418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610ee8919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611c6f565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f5857610f5861418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610ee891815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610fda57610fda61418c565b602090810291909101015260006110327f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611d24565b905061103e8160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061107c5761107c61418c565b602002602001018181525050610f1d7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016110ca91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611c6f565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106111355761113561418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610ee891815260200190565b610afb6111aa7f4368617261637465727300000000000000000000000000000000000000000000611de1565b8383611e2e565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111ed576111ed61418c565b6020908102919091010152600061103e7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611d24565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112665761126661418c565b602090810291909101015260006112bf7f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611d24565b905060f881901c600281111561103e5761103e613dbf565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113105761131061418c565b6020908102919091010152600061103e7f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611d24565b600061045a611a0e565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113ac576113ac61418c565b602090810291909101015260006110327f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611d24565b600061140f611369565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190614147565b6001600160a01b03166114b1610450565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106114f7576114f761418c565b6020908102919091010152610f1d7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561153a5761153a613dbf565b604051602001611575919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611c6f565b60606000806115c06115bb856141a2565b611e80565b91509150816000801b03611626576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168217905261103e8285611f50565b600061168a826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161202b565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106116c9576116c961418c565b60209081029190910101526117017f746255440000000000000000000000005374617473000000000000000000000082868686612069565b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061173f5761173f61418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610ee891151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117c6576117c661418c565b6020908102919091010152600061181f7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611d24565b60601c949350505050565b600061045a6120df565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061186d5761186d61418c565b6020908102919091010152600061103e7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611d24565b60606000606060006118d66120df565b9050306001600160a01b038216036118ff576118f387878761211e565b9350935093505061198d565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611948908a908a908a9060040161422e565b600060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118f39190810190614257565b93509350939050565b61199e613d0e565b6119a784612226565b60e0890181905260c0890182905260a0890183905260808901849052606089018590528860208101604082018860028111156119e5576119e5613dbf565b60028111156119f6576119f6613dbf565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611a6c7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611d24565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611abb57611abb61418c565b6020026020010181815250508260001b81600181518110611ade57611ade61418c565b60209081029190910101526000611b1e7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611d24565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611b6857611b6861418c565b6020026020010181815250508260001b81600181518110611b8b57611b8b61418c565b602002602001018181525050611bf17f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611bd491815260200190565b60408051601f19818403018152919052630100080160dd1b611c6f565b50505050565b6000611c056070601061411a565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611c796120df565b9050306001600160a01b03821603611c9d57611c988686868686612294565b611701565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611cea90899089908990899089906004016142ba565b600060405180830381600087803b158015611d0457600080fd5b505af1158015611d18573d6000803e3d6000fd5b50505050505050505050565b600080611d2f6120df565b9050306001600160a01b03821603611d5557611d4d868686866122a9565b91505061103e565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611da0908990899089908990600401614301565b602060405180830381865afa158015611dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d9190614330565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611bf7565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611e6757611e6761418c565b602002602001018181525050611bf184826000856122d6565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611ed957611ed961418c565b602090810291909101015260008080611f327f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006118c6565b925092509250611f43838383612387565b9550955050505050915091565b60606000611f5c61182a565b90506001600160a01b0381163003611f9d576000611f84611f7b610da1565b6000878761239f565b9350905080611f9657611f96836124da565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611fe49087908790600401614071565b6000604051808303816000875af1158015612003573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261103e91908101906140cf565b6060888888888888888860405160200161204c989796959493929190614349565b604051602081830303815290604052905098975050505050505050565b60006120736120df565b9050306001600160a01b0382160361209257611c9886868686866124e2565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611cea908990899089908990899060040161438e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612119573391505090565b919050565b606060006060600061212f856124f8565b905061213c87878361251b565b9350600061214986612554565b9050801561221b5761215b8888612591565b935066ffffffffffffff841667ffffffffffffffff81111561217f5761217f613e6c565b6040519080825280601f01601f1916602001820160405280156121a9576020820181803683370190505b5092506020830160005b828160ff1610156122185760006121cb8b8b846125a4565b905060006121e8888460ff166028026038011c64ffffffffff1690565b90506121f78260008387612624565b612201818561411a565b935050508080612210906143df565b9150506121b3565b50505b505093509350939050565b600080600080600080600080612240896000016020015190565b60408a015160608b0151919950975060f81c600281111561226357612263613dbf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f285856122a384876126f0565b85612721565b6000611b1e6122b886866129c5565b60ff858116601b0360080285901c166122d185876126f0565b612a1b565b60006122e06120df565b9050306001600160a01b03821603612303576122fe85858585612a6c565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061234e9088908890889088906004016143fe565b600060405180830381600087803b15801561236857600080fd5b505af115801561237c573d6000803e3d6000fd5b505050505050505050565b60008061239385612aa7565b90969095509350505050565b600060606000806123af86612abc565b90925090506001600160a01b03821661240057856123cc87612b60565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190614071565b8061240f5761240f8689612c8e565b861561247b577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061246382612cda565b9050612478826124738b8461411a565b612d53565b50505b60006124878760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146124bf576124ba88888488612def565b6124cb565b6124cb88888488612e67565b90999098509650505050505050565b805160208201fd5b6109f285858585856124f38b612ec8565b612f4d565b600060086125086002602061443d565b6125129190614450565b9190911c919050565b60608160000361253a5750604080516020810190915260008152611c68565b600061254685856129c5565b9050611b1e81600085613286565b600060086001806125676002602061443d565b612571919061443d565b61257b919061443d565b6125859190614450565b8260ff911c1692915050565b6000611c686125a084846132a9565b5490565b600083836040516020016125b9929190614467565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156126ab576020831061264e5760208304840193506020838161264a5761264a6144a3565b0692505b82156126ab5760208390036000818410156126715750600019600884021c61267b565b50600019600882021c5b8554600886021b81845116821982161784525081841161269c575050611bf1565b50600194909401939182900391015b5b602082106126cd5783548152600190930192601f19909101906020016126ac565b8115611bf1576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761271760ff601b83900360080287901c168361411a565b91506001016126f5565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036127ab57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161279e939291906144b9565b60405180910390a2611bf1565b60006127b785856129c5565b905060006127c4866132ff565b905060005b81518110156128995760008282815181106127e6576127e661418c565b602002602001015190506128126004826affffffffffffffffffffff191661338890919063ffffffff16565b15612890576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061285d908b908b908b908b906004016144ec565b600060405180830381600087803b15801561287757600080fd5b505af115801561288b573d6000803e3d6000fd5b505050505b506001016127c9565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516128ce939291906144b9565b60405180910390a26128e9828565ffffffffffff16856133a6565b60005b81518110156129bc5760008282815181106129095761290961418c565b602002602001015190506129356008826affffffffffffffffffffff191661338890919063ffffffff16565b156129b3576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612980908b908b908b908b906004016144ec565b600060405180830381600087803b15801561299a57600080fd5b505af11580156129ae573d6000803e3d6000fd5b505050505b506001016128ec565b50505050505050565b600082826040516020016129da929190614467565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612a4157602082048401935060208281612a3d57612a3d6144a3565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612a788585612591565b90506000612a95828560ff166028026038011c64ffffffffff1690565b905061170186868660008588886133bc565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612af657612af661418c565b602090810291909101015260008080612b4f7f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061211e565b925092509250611f438383836137f6565b606081601081901b6000612b7383613802565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612bce57612bc97fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613819565b612c05565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612c2c57612c2783613819565b612c63565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612c7593929190614525565b6040516020818303038152906040529350505050919050565b612c98828261389f565b610afb57612ca582612b60565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e99291906145b3565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612d1357612d1361418c565b6020908102919091010152600061103e7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6122a9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612d8957612d8961418c565b602002602001018181525050610f1d7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612dd291815260200190565b60408051601f19818403018152919052630100080160dd1b612294565b60006060836001600160a01b03166000612e0a8589896138fd565b604051612e1791906145de565b60006040518083038185875af1925050503d8060008114612e54576040519150601f19603f3d011682016040523d82523d6000602084013e612e59565b606091505b509097909650945050505050565b60006060836001600160a01b0316612e808488886138fd565b604051612e8d91906145de565b600060405180830381855af49150503d8060008114612e54576040519150601f19603f3d011682016040523d82523d6000602084013e612e59565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201612f1757507e60030220202000000000000000000000000000000000000000000000000000919050565b610439612f447f746273746f72650000000000000000005461626c6573000000000000000000008461392c565b60206000612a1b565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612fd957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612fcc94939291906145fa565b60405180910390a2611701565b6000612fe4876132ff565b905060005b81518110156130bd5760008282815181106130065761300661418c565b602002602001015190506130326001826affffffffffffffffffffff191661338890919063ffffffff16565b156130b4576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613081908c908c908c908c908c908c90600401614639565b600060405180830381600087803b15801561309b57600080fd5b505af11580156130af573d6000803e3d6000fd5b505050505b50600101612fe9565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516130f494939291906145fa565b60405180910390a2600061310888886129c5565b90506000602087019050613120826000895184613948565b600061312b85612554565b11156131af57600061313d8a8a6132a9565b878155905060208601915060008060005b61315788612554565b8160ff1610156131aa5761316c8d8d836125a4565b92506131878a8260ff166028026038011c64ffffffffff1690565b91506131968360008488613948565b6131a0828661411a565b945060010161314e565b505050505b60005b8351811015611d185760008482815181106131cf576131cf61418c565b602002602001015190506131fb6002826affffffffffffffffffffff191661338890919063ffffffff16565b1561327d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061324a908e908e908e908e908e908e90600401614639565b600060405180830381600087803b15801561326457600080fd5b505af1158015613278573d6000803e3d6000fd5b505050505b506001016131b2565b60405160208101601f19603f84840101166040528282526106b985858584612624565b600082826040516020016132be929190614467565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106133395761333961418c565b602090810291909101015260006133717f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613a07565b905061103e6133838260008451613a41565b613acf565b60008160ff16826133998560581c90565b1660ff1614905092915050565b610f1d838383516133b78560200190565b613948565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461347c577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161343a91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614692565b6000613497828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836134b0919061443d565b6134ba919061411a565b90508082141580156134dc5750816134d286886146d3565b64ffffffffff1614155b1561352c576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff16111561357d576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b600061358a848984613ae0565b905060006135978b6132ff565b905060005b81518110156136625760008282815181106135b9576135b961418c565b602002602001015190506135e56010826affffffffffffffffffffff191661338890919063ffffffff16565b1561365957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161362697969594939291906146f8565b600060405180830381600087803b15801561364057600080fd5b505af1158015613654573d6000803e3d6000fd5b505050505b5060010161359c565b5064ffffffffff881660005b8a60ff168160ff1610156136a157613695878260ff166028026038011c64ffffffffff1690565b9091019060010161366e565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516136dc96959493929190614756565b60405180910390a2508284146136fd5760006136f88c8c6132a9565b839055505b600061370a8c8c8c6125a4565b905061371e818a64ffffffffff16896133a6565b5060005b81518110156137e857600082828151811061373f5761373f61418c565b6020026020010151905061376b6020826affffffffffffffffffffff191661338890919063ffffffff16565b156137df57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016137ac97969594939291906146f8565b600060405180830381600087803b1580156137c657600080fd5b505af11580156137da573d6000803e3d6000fd5b505050505b50600101613722565b505050505050505050505050565b60008061239385613bae565b60006138106070601061411a565b9190911b919050565b606060005b601081101561386f576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561386f5760010161381e565b604080516fffffffffffffffffffffffffffffffff1985166020820152815160309091019091528181528061103e565b60006138ed7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613bca565b80611c685750611c688383613bca565b6060838383604051602001613914939291906147b2565b60405160208183030381529060405290509392505050565b60408051602081018490529081018290526000906060016129da565b82156139c257602083106139725760208304840193506020838161396e5761396e6144a3565b0692505b82156139c25760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116139b3575050611bf1565b50600194909401939182900391015b5b602082106139e45780518455600190930192601f19909101906020016139c3565b8115611bf1576000600019600884021c8554835182191691161785555050505050565b606061103e613a178585856125a4565b6000613a3c85613a278989612591565b9060ff166028026038011c64ffffffffff1690565b613286565b600081831180613a515750835182115b15613a8e578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906147f1565b60208401613a9c848261411a565b90506000613aaa858561443d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611c688360156000613c93565b600064ffffffffff821115613b24576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613b565780850382019150613b5e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612ab5565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613c0357613c0361418c565b602002602001018181525050826001600160a01b031660001b81600181518110613c2f57613c2f61418c565b60209081029190910101526000613c877f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006122a9565b9050611b1e8160f81c90565b60606000613ca18560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613cc757613cc76144a3565b04905060405193506020840160208202810160405281855260005b82811015613d02578451871c825293870193602090910190600101613ce2565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613d3b57613d3b613dbf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613d7657600080fd5b5035919050565b600060208284031215613d8f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c6857600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613df357634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613e1881613dd5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613df357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613eab57613eab613e6c565b604052919050565b600067ffffffffffffffff821115613ecd57613ecd613e6c565b50601f01601f191660200190565b600082601f830112613eec57600080fd5b8135613eff613efa82613eb3565b613e82565b818152846020838601011115613f1457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f4657600080fd5b8335613f5181613e57565b925060208401359150604084013567ffffffffffffffff811115613f7457600080fd5b613f8086828701613edb565b9150509250925092565b60208101613f9783613dd5565b91905290565b600080600060608486031215613fb257600080fd5b8335925060208401359150604084013560038110613fcf57600080fd5b809150509250925092565b60008060408385031215613fed57600080fd5b82359150602083013567ffffffffffffffff81111561400b57600080fd5b61401785828601613edb565b9150509250929050565b60005b8381101561403c578181015183820152602001614024565b50506000910152565b6000815180845261405d816020860160208601614021565b601f01601f19169290920160200192915050565b82815260406020820152600061103e6040830184614045565b600082601f83011261409b57600080fd5b81516140a9613efa82613eb3565b8181528460208386010111156140be57600080fd5b61103e826020830160208701614021565b6000602082840312156140e157600080fd5b815167ffffffffffffffff8111156140f857600080fd5b61103e8482850161408a565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439614104565b6000600019820361414057614140614104565b5060010190565b60006020828403121561415957600080fd5b8151611c6881613e57565b83815261417083613dd5565b826020820152606060408201526000611b1e6060830184614045565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156141ea5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561422357815187529582019590820190600101614207565b509495945050505050565b83815260606020820152600061424760608301856141f2565b9050826040830152949350505050565b60008060006060848603121561426c57600080fd5b835167ffffffffffffffff8082111561428457600080fd5b6142908783880161408a565b94506020860151935060408601519150808211156142ad57600080fd5b50613f808682870161408a565b85815260a0602082015260006142d360a08301876141f2565b60ff8616604084015282810360608401526142ee8186614045565b9150508260808301529695505050505050565b84815260806020820152600061431a60808301866141f2565b60ff949094166040830152506060015292915050565b60006020828403121561434257600080fd5b5051919050565b88815287602082015261435b87613dd5565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006143a760a08301876141f2565b82810360408401526143b98187614045565b905084606084015282810360808401526143d38185614045565b98975050505050505050565b600060ff821660ff81036143f5576143f5614104565b60010192915050565b84815260806020820152600061441760808301866141f2565b60ff8516604084015282810360608401526144328185614045565b979650505050505050565b8181038181111561043957610439614104565b808202811582820484141761043957610439614104565b8281526000602080830184516020860160005b828110156144965781518452928401929084019060010161447a565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006144cc60608301866141f2565b65ffffffffffff851660208401528281036040840152610d978185614045565b84815260806020820152600061450560808301866141f2565b65ffffffffffff8516604084015282810360608401526144328185614045565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614586816003860160208901614021565b8084019050816003820152845191506145a6826004830160208801614021565b0160040195945050505050565b6040815260006145c66040830185614045565b90506001600160a01b03831660208301529392505050565b600082516145f0818460208701614021565b9190910192915050565b60808152600061460d60808301876141f2565b828103602084015261461f8187614045565b905084604084015282810360608401526144328185614045565b86815260c06020820152600061465260c08301886141f2565b82810360408401526146648188614045565b9050856060840152828103608084015261467e8186614045565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611b1e6060830184614045565b64ffffffffff8181168382160190808211156146f1576146f1614104565b5092915050565b87815260e06020820152600061471160e08301896141f2565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147488185614045565b9a9950505050505050505050565b60c08152600061476960c08301896141f2565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526147a58185614045565b9998505050505050505050565b600084516147c4818460208901614021565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006148046060830186614045565b6020830194909452506040015291905056fea264697066735822122086d244e76566d88f08574505a94c682c41e0427c140ef488ae6e6840ef8c383e64736f6c63430008180033","sourceMap":"1812:6136:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:211;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:228;;;345:74;;333:2;318:18;2973:144:211;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:228;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:228;7822:124:211;;;;;;;;;;-1:-1:-1;7822:124:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;3893:837:211:-;;;;;;;;;;-1:-1:-1;3893:837:211;;;;;:::i;:::-;;:::i;:::-;;;4284:25:228;;;4272:2;4257:18;3893:837:211;4138:177:228;5992:492:211;;;;;;;;;;-1:-1:-1;5992:492:211;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:211;;;;;;;;;;-1:-1:-1;1853:130:211;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:211;;;;;:::i;:::-;;:::i;4736:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:211;;;;;:::i;:::-;;:::i;6490:219::-;;;;;;;;;;-1:-1:-1;6490:219:211;;;;;:::i;:::-;;:::i;5287:699::-;;;;;;;;;;-1:-1:-1;5287:699:211;;;;;:::i;:::-;;:::i;7555:125::-;;;;;;;;;;-1:-1:-1;7555:125:211;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7686:130:211:-;;;;;;;;;;-1:-1:-1;7686:130:211;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:211;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7822:124:211:-;7882:16;;:::i;:::-;7917:22;7927:11;7917:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3893:837:211:-;4003:19;4038:24;4065:28;:26;:28::i;:::-;4038:55;-1:-1:-1;4130:16:211;4111:35;;4103:83;;;;-1:-1:-1;;;4103:83:211;;5935:2:228;4103:83:211;;;5917:21:228;5974:2;5954:18;;;5947:30;6013:34;5993:18;;;5986:62;6084:5;6064:18;;;6057:33;6107:19;;4103:83:211;;;;;;;;;4203:8;:6;:8::i;:::-;-1:-1:-1;;;;;4196:21:211;;4231:37;4247:20;4231:15;:37::i;:::-;4270:65;;-1:-1:-1;;;;;6329:55:228;;4270:65:211;;;6311:74:228;6401:18;;;6394:34;;;6284:18;;4270:65:211;;;-1:-1:-1;;4270:65:211;;;;;;;;;;;;;;;;;;;;4196:149;;4270:65;4196:149;;;;;;;;;4270:65;4196:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4196:149:211;;;;;;;;;;;;:::i;:::-;;4369:35;4387:16;4369:17;:35::i;:::-;4355:49;;4414:41;4434:11;4447:7;4414:19;:41::i;:::-;4465:52;4487:11;4500:16;4465:21;:52::i;:::-;4536:25;4556:4;4536:19;:25::i;:::-;4535:26;4527:58;;;;-1:-1:-1;;;4527:58:211;;8342:2:228;4527:58:211;;;8324:21:228;8381:2;8361:18;;;8354:30;8420:21;8400:18;;;8393:49;8459:18;;4527:58:211;8140:343:228;4527:58:211;4595:31;4615:4;4621;4595:19;:31::i;:::-;4636:37;4655:11;4668:4;4636:18;:37::i;:::-;4683:40;4696:16;4714:8;4683:12;:40::i;:::-;4028:702;3893:837;;;;;:::o;5992:492::-;6067:20;6117:14;6128:2;6117:10;:14::i;:::-;6103:10;:28;6099:379;;-1:-1:-1;6162:2:211;5992:492;;;:::o;6099:379::-;6200:9;6195:273;6215:2;6211:1;:6;6195:273;;;6259:10;6242:13;6253:1;6242:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6293:10:211;6273:17;6284:5;:1;6288;6284:5;:::i;:::-;6273:10;:17::i;:::-;:30;6242:61;6238:155;;;6342:5;:1;6346;6342:5;:::i;:::-;6327:20;;6369:5;;6238:155;6432:3;;;;:::i;:::-;;;;6195:273;;;;5992:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:211;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:211;;3385:7;3359:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3359:34:211;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:211;;;;;;;;-1:-1:-1;;3359:34:211;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:211;;3462:7;3436:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3436:34:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:211;:7;-1:-1:-1;;;;;3506:23:211;;3499:30;;;;;3123:413;;;:::o;4736:545::-;4851:33;4872:11;4851:20;:33::i;:::-;4850:34;4842:90;;;;-1:-1:-1;;;4842:90:211;;9465:2:228;4842:90:211;;;9447:21:228;9504:2;9484:18;;;9477:30;9543:34;9523:18;;;9516:62;9614:13;9594:18;;;9587:41;9645:19;;4842:90:211;9263:407:228;4842:90:211;4950:21;4959:11;4950:8;:21::i;:::-;4942:53;;;;-1:-1:-1;;;4942:53:211;;9877:2:228;4942:53:211;;;9859:21:228;9916:2;9896:18;;;9889:30;9955:21;9935:18;;;9928:49;9994:18;;4942:53:211;9675:343:228;4942:53:211;5005:26;5073:34;5088:11;5101:5;5073:14;:34::i;:::-;5164:110;5217:16;5235:11;5259;5248:23;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5248:23:211;;;;-1:-1:-1;;5248:23:211;;;;;;;;;;5182:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5182:91:211;;;;;;;;;;;;;;;;;;;;5164:17;:110::i;:::-;;4832:449;4736:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:211;;2614:16;2588:43;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;2588:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:211;:55;;;;;;-1:-1:-1;;2460:266:211:o;6490:219::-;6584:21;6593:11;6584:8;:21::i;:::-;6576:60;;;;-1:-1:-1;;;6576:60:211;;10654:2:228;6576:60:211;;;10636:21:228;10693:2;10673:18;;;10666:30;10732:28;10712:18;;;10705:56;10778:18;;6576:60:211;10452:350:228;6576:60:211;6646:56;2830:37;;;6693:8;6646:12;:56::i;:::-;6490:219;;:::o;5287:699::-;5352:21;5361:11;5352:8;:21::i;:::-;5344:52;;;;-1:-1:-1;;;5344:52:211;;11009:2:228;5344:52:211;;;10991:21:228;11048:2;11028:18;;;11021:30;11087:20;11067:18;;;11060:48;11125:18;;5344:52:211;10807:342:228;5344:52:211;5415:33;5436:11;5415:20;:33::i;:::-;5414:34;5406:72;;;;-1:-1:-1;;;5406:72:211;;11356:2:228;5406:72:211;;;11338:21:228;11395:2;11375:18;;;11368:30;11434:27;11414:18;;;11407:55;11479:18;;5406:72:211;11154:349:228;5406:72:211;5488:26;5517:22;5527:11;5517:9;:22::i;:::-;5567:1;5549:15;;;:19;5607:23;;;;5578:19;;;:53;5488:51;-1:-1:-1;5641:33:211;5651:11;5488:51;5641:9;:33::i;:::-;5691:8;:6;:8::i;:::-;5684:51;;;;;;;;11708:25:228;;;5727:7:211;11749:18:228;;;11742:34;-1:-1:-1;;;;;5684:29:211;;;;;;;11681:18:228;;5684:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5783:8;:6;:8::i;:::-;-1:-1:-1;;;;;5776:38:211;;5815:11;5776:51;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5776:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5940:39;5961:11;5974:4;5940:20;:39::i;7555:125::-;7615:7;7641:32;7661:11;7641:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7686:130:211:-;7751:7;7777:32;7797:11;7777:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;6889:347:211:-;6945:7;6964:25;6992:42;:40;:42::i;:::-;6964:70;;7044:24;7071:50;7099:17;7119:1;7071:19;:50::i;:::-;:54;;7124:1;7071:54;:::i;:::-;7044:81;;7135:61;7155:17;7174:1;7178:16;7135:19;:61::i;1157:186:219:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12125:2:228;12121:15;;;;-1:-1:-1;;12117:88:228;12105:101;;12231:2;12222:12;;11976:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12583:14:228;12576:22;12571:3;12567:32;12555:45;;12625:1;12616:11;;12432:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;6715:168:211;6797:79;6818:38;6835:20;6818:16;:38::i;:::-;6858:7;6867:8;6797:20;:79::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:211:-;2329:30;2404:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7382:167:211:-;7444:4;7483:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7483:59;;;4284:25:228;-1:-1:-1;;;;;7483:25:211;;;;;;;4257:18:228;;7483:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7467:75:211;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7467:75:211;;;7382:167;-1:-1:-1;;7382:167:211:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;12970:3:228;12966:16;;;;12984:66;12962:89;12950:102;;13077:1;13068:11;;12825:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13646:98:228;13619:18;;3713:52:107;13502:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:195:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:195;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:195;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12583:14:228;12576:22;12571:3;12567:32;12555:45;;12625:1;12616:11;;12432:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:195:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25930:12:228;25969:15;;;45340:92:45;;;25951:34:228;26021:15;;;26001:18;;;25994:43;26073:15;;26053:18;;;26046:43;25893:18;;45340:92:45;25724:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26273:25:228;;;26346:12;26334:25;;26314:18;;;26307:53;26246:18;;45581:74:45;26100:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28211:79:228;;2092:30:124;;;28199:92:228;2092:30:124;;28307:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29054:19:228;;;29089:12;;;29082:28;;;51337:7:45;;29126:12:228;;51494:30:45;28865:279:228;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:228;;;4257:18;;7664:67:24;4138:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:228:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:228;;14:180;-1:-1:-1;14:180:228:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:228;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:228;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:228;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:228;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:228;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:228:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:228;3037:15;-1:-1:-1;;3033:88:228;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:228:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:228;3925:18;;3912:32;;-1:-1:-1;3995:2:228;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:390::-;5416:6;5424;5477:2;5465:9;5456:7;5452:23;5448:32;5445:52;;;5493:1;5490;5483:12;5445:52;5529:9;5516:23;5506:33;;5590:2;5579:9;5575:18;5562:32;5617:18;5609:6;5606:30;5603:50;;;5649:1;5646;5639:12;5603:50;5672;5714:7;5705:6;5694:9;5690:22;5672:50;:::i;:::-;5662:60;;;5338:390;;;;;:::o;6439:250::-;6524:1;6534:113;6548:6;6545:1;6542:13;6534:113;;;6624:11;;;6618:18;6605:11;;;6598:39;6570:2;6563:10;6534:113;;;-1:-1:-1;;6681:1:228;6663:16;;6656:27;6439:250::o;6694:329::-;6735:3;6773:5;6767:12;6800:6;6795:3;6788:19;6816:76;6885:6;6878:4;6873:3;6869:14;6862:4;6855:5;6851:16;6816:76;:::i;:::-;6937:2;6925:15;-1:-1:-1;;6921:88:228;6912:98;;;;7012:4;6908:109;;6694:329;-1:-1:-1;;6694:329:228:o;7028:320::-;7235:6;7224:9;7217:25;7278:2;7273;7262:9;7258:18;7251:30;7198:4;7298:44;7338:2;7327:9;7323:18;7315:6;7298:44;:::i;7353:442::-;7406:5;7459:3;7452:4;7444:6;7440:17;7436:27;7426:55;;7477:1;7474;7467:12;7426:55;7506:6;7500:13;7537:49;7553:32;7582:2;7553:32;:::i;7537:49::-;7611:2;7602:7;7595:19;7657:3;7650:4;7645:2;7637:6;7633:15;7629:26;7626:35;7623:55;;;7674:1;7671;7664:12;7623:55;7687:77;7761:2;7754:4;7745:7;7741:18;7734:4;7726:6;7722:17;7687:77;:::i;7800:335::-;7879:6;7932:2;7920:9;7911:7;7907:23;7903:32;7900:52;;;7948:1;7945;7938:12;7900:52;7981:9;7975:16;8014:18;8006:6;8003:30;8000:50;;;8046:1;8043;8036:12;8000:50;8069:60;8121:7;8112:6;8101:9;8097:22;8069:60;:::i;8488:184::-;-1:-1:-1;;;8537:1:228;8530:88;8637:4;8634:1;8627:15;8661:4;8658:1;8651:15;8677:125;8742:9;;;8763:10;;;8760:36;;;8776:18;;:::i;8807:195::-;8846:3;-1:-1:-1;;8870:5:228;8867:77;8864:103;;8947:18;;:::i;:::-;-1:-1:-1;8994:1:228;8983:13;;8807:195::o;9007:251::-;9077:6;9130:2;9118:9;9109:7;9105:23;9101:32;9098:52;;;9146:1;9143;9136:12;9098:52;9178:9;9172:16;9197:31;9222:5;9197:31;:::i;10023:424::-;10245:6;10234:9;10227:25;10261:37;10291:6;10261:37;:::i;:::-;10334:6;10329:2;10318:9;10314:18;10307:34;10377:2;10372;10361:9;10357:18;10350:30;10208:4;10397:44;10437:2;10426:9;10422:18;10414:6;10397:44;:::i;11787:184::-;-1:-1:-1;;;11836:1:228;11829:88;11936:4;11933:1;11926:15;11960:4;11957:1;11950:15;13090:407;13173:5;13213;13207:12;13255:4;13248:5;13244:16;13238:23;13280:66;13372:2;13368;13364:11;13355:20;;13398:1;13390:6;13387:13;13384:107;;;13478:2;13472;13462:6;13459:1;13455:14;13452:1;13448:22;13444:31;13440:2;13436:40;13432:49;13423:58;;13384:107;;;;13090:407;;;:::o;13755:439::-;13808:3;13846:5;13840:12;13873:6;13868:3;13861:19;13899:4;13928;13923:3;13919:14;13912:21;;13967:4;13960:5;13956:16;13990:1;14000:169;14014:6;14011:1;14008:13;14000:169;;;14075:13;;14063:26;;14109:12;;;;14144:15;;;;14036:1;14029:9;14000:169;;;-1:-1:-1;14185:3:228;;13755:439;-1:-1:-1;;;;;13755:439:228:o;14199:468::-;14499:6;14488:9;14481:25;14542:2;14537;14526:9;14522:18;14515:30;14462:4;14562:56;14614:2;14603:9;14599:18;14591:6;14562:56;:::i;:::-;14554:64;;14654:6;14649:2;14638:9;14634:18;14627:34;14199:468;;;;;;:::o;14672:655::-;14814:6;14822;14830;14883:2;14871:9;14862:7;14858:23;14854:32;14851:52;;;14899:1;14896;14889:12;14851:52;14932:9;14926:16;14961:18;15002:2;14994:6;14991:14;14988:34;;;15018:1;15015;15008:12;14988:34;15041:60;15093:7;15084:6;15073:9;15069:22;15041:60;:::i;:::-;15031:70;;15141:2;15130:9;15126:18;15120:25;15110:35;;15191:2;15180:9;15176:18;15170:25;15154:41;;15220:2;15210:8;15207:16;15204:36;;;15236:1;15233;15226:12;15204:36;;15259:62;15313:7;15302:8;15291:9;15287:24;15259:62;:::i;15332:709::-;15702:6;15691:9;15684:25;15745:3;15740:2;15729:9;15725:18;15718:31;15665:4;15772:57;15824:3;15813:9;15809:19;15801:6;15772:57;:::i;:::-;15877:4;15869:6;15865:17;15860:2;15849:9;15845:18;15838:45;15931:9;15923:6;15919:22;15914:2;15903:9;15899:18;15892:50;15959:32;15984:6;15976;15959:32;:::i;:::-;15951:40;;;16028:6;16022:3;16011:9;16007:19;16000:35;15332:709;;;;;;;;:::o;16046:548::-;16370:6;16359:9;16352:25;16413:3;16408:2;16397:9;16393:18;16386:31;16333:4;16434:57;16486:3;16475:9;16471:19;16463:6;16434:57;:::i;:::-;16539:4;16527:17;;;;16522:2;16507:18;;16500:45;-1:-1:-1;16576:2:228;16561:18;16554:34;16426:65;16046:548;-1:-1:-1;;16046:548:228:o;16599:184::-;16669:6;16722:2;16710:9;16701:7;16697:23;16693:32;16690:52;;;16738:1;16735;16728:12;16690:52;-1:-1:-1;16761:16:228;;16599:184;-1:-1:-1;16599:184:228:o;16788:707::-;17135:6;17130:3;17123:19;17172:6;17167:2;17162:3;17158:12;17151:28;17188:37;17218:6;17188:37;:::i;:::-;17259:3;17255:16;;;;17250:2;17241:12;;17234:38;17297:2;17288:12;;17281:28;;;;17334:2;17325:12;;17318:28;;;;17371:3;17362:13;;17355:29;17409:3;17400:13;;17393:29;17447:3;17438:13;;17431:29;17485:3;17476:13;;16788:707;-1:-1:-1;;16788:707:228:o;17500:794::-;17895:6;17884:9;17877:25;17938:3;17933:2;17922:9;17918:18;17911:31;17858:4;17965:57;18017:3;18006:9;18002:19;17994:6;17965:57;:::i;:::-;18070:9;18062:6;18058:22;18053:2;18042:9;18038:18;18031:50;18104:32;18129:6;18121;18104:32;:::i;:::-;18090:46;;18172:6;18167:2;18156:9;18152:18;18145:34;18228:9;18220:6;18216:22;18210:3;18199:9;18195:19;18188:51;18256:32;18281:6;18273;18256:32;:::i;:::-;18248:40;17500:794;-1:-1:-1;;;;;;;;17500:794:228:o;18299:175::-;18336:3;18380:4;18373:5;18369:16;18409:4;18400:7;18397:17;18394:43;;18417:18;;:::i;:::-;18466:1;18453:15;;18299:175;-1:-1:-1;;18299:175:228:o;18479:604::-;18788:6;18777:9;18770:25;18831:3;18826:2;18815:9;18811:18;18804:31;18751:4;18858:57;18910:3;18899:9;18895:19;18887:6;18858:57;:::i;:::-;18963:4;18955:6;18951:17;18946:2;18935:9;18931:18;18924:45;19017:9;19009:6;19005:22;19000:2;18989:9;18985:18;18978:50;19045:32;19070:6;19062;19045:32;:::i;:::-;19037:40;18479:604;-1:-1:-1;;;;;;;18479:604:228:o;19415:128::-;19482:9;;;19503:11;;;19500:37;;;19517:18;;:::i;19548:168::-;19621:9;;;19652;;19669:15;;;19663:22;;19649:37;19639:71;;19690:18;;:::i;19721:640::-;19972:6;19967:3;19960:19;19942:3;19998:2;20031;20026:3;20022:12;20063:6;20057:13;20128:2;20120:6;20116:15;20149:1;20159:175;20173:6;20170:1;20167:13;20159:175;;;20236:13;;20222:28;;20272:14;;;;20309:15;;;;20195:1;20188:9;20159:175;;;-1:-1:-1;20350:5:228;;19721:640;-1:-1:-1;;;;;;;19721:640:228:o;20366:184::-;-1:-1:-1;;;20415:1:228;20408:88;20515:4;20512:1;20505:15;20539:4;20536:1;20529:15;20555:511;20806:2;20795:9;20788:21;20769:4;20832:56;20884:2;20873:9;20869:18;20861:6;20832:56;:::i;:::-;20936:14;20928:6;20924:27;20919:2;20908:9;20904:18;20897:55;21000:9;20992:6;20988:22;20983:2;20972:9;20968:18;20961:50;21028:32;21053:6;21045;21028:32;:::i;21071:616::-;21382:6;21371:9;21364:25;21425:3;21420:2;21409:9;21405:18;21398:31;21345:4;21452:57;21504:3;21493:9;21489:19;21481:6;21452:57;:::i;:::-;21557:14;21549:6;21545:27;21540:2;21529:9;21525:18;21518:55;21621:9;21613:6;21609:22;21604:2;21593:9;21589:18;21582:50;21649:32;21674:6;21666;21649:32;:::i;21692:925::-;22141:66;22133:6;22129:79;22124:3;22117:92;22099:3;22228;22260:2;22256:1;22251:3;22247:11;22240:23;22292:6;22286:13;22308:74;22375:6;22371:1;22366:3;22362:11;22355:4;22347:6;22343:17;22308:74;:::i;:::-;22410:6;22405:3;22401:16;22391:26;;22445:2;22441:1;22437:2;22433:10;22426:22;22479:6;22473:13;22457:29;;22495:75;22561:8;22557:1;22553:2;22549:10;22542:4;22534:6;22530:17;22495:75;:::i;:::-;22590:17;22609:1;22586:25;;21692:925;-1:-1:-1;;;;;21692:925:228:o;22622:339::-;22799:2;22788:9;22781:21;22762:4;22819:44;22859:2;22848:9;22844:18;22836:6;22819:44;:::i;:::-;22811:52;;-1:-1:-1;;;;;22903:6:228;22899:55;22894:2;22883:9;22879:18;22872:83;22622:339;;;;;:::o;22966:287::-;23095:3;23133:6;23127:13;23149:66;23208:6;23203:3;23196:4;23188:6;23184:17;23149:66;:::i;:::-;23231:16;;;;;22966:287;-1:-1:-1;;22966:287:228:o;23258:690::-;23593:3;23582:9;23575:22;23556:4;23620:57;23672:3;23661:9;23657:19;23649:6;23620:57;:::i;:::-;23725:9;23717:6;23713:22;23708:2;23697:9;23693:18;23686:50;23759:32;23784:6;23776;23759:32;:::i;:::-;23745:46;;23827:6;23822:2;23811:9;23807:18;23800:34;23882:9;23874:6;23870:22;23865:2;23854:9;23850:18;23843:50;23910:32;23935:6;23927;23910:32;:::i;23953:899::-;24409:6;24398:9;24391:25;24452:3;24447:2;24436:9;24432:18;24425:31;24372:4;24479:57;24531:3;24520:9;24516:19;24508:6;24479:57;:::i;:::-;24584:9;24576:6;24572:22;24567:2;24556:9;24552:18;24545:50;24618:32;24643:6;24635;24618:32;:::i;:::-;24604:46;;24686:6;24681:2;24670:9;24666:18;24659:34;24742:9;24734:6;24730:22;24724:3;24713:9;24709:19;24702:51;24770:32;24795:6;24787;24770:32;:::i;:::-;24762:40;;;24839:6;24833:3;24822:9;24818:19;24811:35;23953:899;;;;;;;;;:::o;25076:464::-;25323:66;25315:6;25311:79;25300:9;25293:98;25427:6;25422:2;25411:9;25407:18;25400:34;25470:2;25465;25454:9;25450:18;25443:30;25274:4;25490:44;25530:2;25519:9;25515:18;25507:6;25490:44;:::i;25545:174::-;25612:12;25644:10;;;25656;;;25640:27;;25679:11;;;25676:37;;;25693:18;;:::i;:::-;25676:37;25545:174;;;;:::o;26371:901::-;26796:6;26785:9;26778:25;26839:3;26834:2;26823:9;26819:18;26812:31;26759:4;26866:57;26918:3;26907:9;26903:19;26895:6;26866:57;:::i;:::-;26971:4;26959:17;;26954:2;26939:18;;26932:45;26996:12;27044:15;;;27039:2;27024:18;;27017:43;27097:15;;27091:3;27076:19;;27069:44;27144:3;27129:19;;27122:35;;;27194:22;;;27188:3;27173:19;;27166:51;27234:32;27198:6;27251;27234:32;:::i;:::-;27226:40;26371:901;-1:-1:-1;;;;;;;;;;26371:901:228:o;27277:788::-;27642:3;27631:9;27624:22;27605:4;27669:57;27721:3;27710:9;27706:19;27698:6;27669:57;:::i;:::-;27774:4;27766:6;27762:17;27757:2;27746:9;27742:18;27735:45;27828:14;27820:6;27816:27;27811:2;27800:9;27796:18;27789:55;27892:12;27884:6;27880:25;27875:2;27864:9;27860:18;27853:53;27943:6;27937:3;27926:9;27922:19;27915:35;27999:9;27991:6;27987:22;27981:3;27970:9;27966:19;27959:51;28027:32;28052:6;28044;28027:32;:::i;:::-;28019:40;27277:788;-1:-1:-1;;;;;;;;;27277:788:228:o;28330:530::-;28515:3;28553:6;28547:13;28569:66;28628:6;28623:3;28616:4;28608:6;28604:17;28569:66;:::i;:::-;28704:2;28700:15;;;;-1:-1:-1;;28696:88:228;28657:16;;;;28682:103;;;28812:2;28801:14;;28794:30;;;;28851:2;28840:14;;28330:530;-1:-1:-1;;28330:530:228:o;29149:359::-;29352:2;29341:9;29334:21;29315:4;29372:44;29412:2;29401:9;29397:18;29389:6;29372:44;:::i;:::-;29447:2;29432:18;;29425:34;;;;-1:-1:-1;29490:2:228;29475:18;29468:34;29364:52;29149:359;-1:-1:-1;29149:359:228:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x7834b231d52ef04eb87b4761370bcf88eb0c52631c0ff6ee85206c0db3224366\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b55193bdcbf73603b110402cd21c6a0aa6b6f6b5a726ff8f971613d637a7ec\",\"dweb:/ipfs/QmS9qHiN8ncErnZGYj7e9HWDhpFBEhTCDpwtkdFghriZTi\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x7834b231d52ef04eb87b4761370bcf88eb0c52631c0ff6ee85206c0db3224366","urls":["bzz-raw://51b55193bdcbf73603b110402cd21c6a0aa6b6f6b5a726ff8f971613d637a7ec","dweb:/ipfs/QmS9qHiN8ncErnZGYj7e9HWDhpFBEhTCDpwtkdFghriZTi"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":211}
\ No newline at end of file
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index eaec4d9d7..2178e955a 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -363,6 +363,47 @@
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__dropGold",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "UD__dropItem",
+ "inputs": [
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__dropItems",
@@ -803,6 +844,19 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getLootManagerSystem",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "_lootManager",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getMob",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 61efabd48..cef29a393 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -363,6 +363,47 @@ declare const abi: [
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__dropGold",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "UD__dropItem",
+ "inputs": [
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__dropItems",
@@ -803,6 +844,19 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__getLootManagerSystem",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "_lootManager",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__getMob",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index e20076ffa..38fcf7418 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__calculateGoldDrop","inputs":[{"name":"mobLevel","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"dropAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256),bytes32,bytes32,uint256,uint256)":"fa760cc5","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__calculateGoldDrop(uint256,uint256)":"c3505171","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentAvailableLevel(uint256)":"d453e623","UD__getCurrentItemsCounter()":"4652f280","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0\",\"dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"mobLevel","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateGoldDrop","outputs":[{"internalType":"uint256","name":"dropAmount","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf","urls":["bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0","dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"}},"version":1},"id":206}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__calculateGoldDrop","inputs":[{"name":"mobLevel","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"dropAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropGold","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItem","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getLootManagerSystem","inputs":[],"outputs":[{"name":"_lootManager","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256),bytes32,bytes32,uint256,uint256)":"fa760cc5","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__calculateGoldDrop(uint256,uint256)":"c3505171","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropGold(bytes32,uint256)":"fda0ce50","UD__dropItem(uint256,uint256,bytes32)":"88c571e1","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentAvailableLevel(uint256)":"d453e623","UD__getCurrentItemsCounter()":"4652f280","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getLootManagerSystem()":"f2cb96f2","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UD__dropGold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__dropItem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getLootManagerSystem\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_lootManager\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"mobLevel","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateGoldDrop","outputs":[{"internalType":"uint256","name":"dropAmount","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropGold"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItem"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getLootManagerSystem","outputs":[{"internalType":"address","name":"_lootManager","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"}},"version":1},"id":206}
\ No newline at end of file
diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json
index da4caec26..d790dc1b7 100644
--- a/packages/contracts/out/MapSystem.sol/MapSystem.json
+++ b/packages/contracts/out/MapSystem.sol/MapSystem.json
@@ -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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212209f970bff027fc4bfc7b70335db8c165a4d5d501c03fcb2be76db5c30d02a61da64736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212209f970bff027fc4bfc7b70335db8c165a4d5d501c03fcb2be76db5c30d02a61da64736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:229;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:229;;;689:74;;677:2;662:18;1262:113:123;543:226:229;1755:239:217;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:229;;1401:2;1386:18;1616:110:123;1267:177:229;1580:169:217;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:217:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:217:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:217;;1279:70;;;;-1:-1:-1;;;1279:70:217;;2807:2:229;1279:70:217;;;2789:21:229;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:217;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:217;;3212:2:229;1360:67:217;;;3194:21:229;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:217;3010:349:229;1360:67:217;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:217;;605:69;;;;-1:-1:-1;;;605:69:217;;3566:2:229;605:69:217;;;3548:21:229;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:217;3364:399:229;605:69:217;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:217;;3970:2:229;685:62:217;;;3952:21:229;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:217;3768:345:229;685:62:217;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:217;;4320:2:229;885:37:217;;;4302:21:229;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:217;4118:339:229;885:37:217;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:217;;4664:2:229;932:38:217;;;4646:21:229;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:217;4462:339:229;932:38:217;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:217;;5008:2:229;980:91:217;;;4990:21:229;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:217;4806:354:229;980:91:217;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:229;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:229;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:229;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:229;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:217:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:217;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:217:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:217;;7009:2:229;4393:63:217;;;6991:21:229;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:217;6807:355:229;4393:63:217;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:217;;7369:2:229;2296:80:217;;;7351:21:229;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:217;7167:403:229;2296:80:217;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:229;;1401:2;1386:18;;1267:177;2515:42:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:217;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:229;2594:9:217;;:20;;1386:18:229;;2594:38:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:217;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:229;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:217;;;;-1:-1:-1;;2754:148:217;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:217;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:217:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:229;18911:18;;3713:52:107;18794:248:229;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:217:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:217;;3609:106;-1:-1:-1;3609:106:217:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:229;25536:15;;;45340:92:45;;;25518:34:229;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:229;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:229;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:229;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:229;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:229;;51494:30:45;27964:279:229;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:229;;;1386:18;;7664:67:24;1267:177:229;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:229;30142:79;;2092:30:124;;;30130:92:229;2092:30:124;;30238:12:229;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:229;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:229;;1710:439;-1:-1:-1;;;;;1710:439:229:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:229;;2420:180;-1:-1:-1;2420:180:229:o;5165:184::-;-1:-1:-1;;;5214:1:229;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:229;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:229;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:229;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:229;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:229;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:229;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:229;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:229;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:229;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:229;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:229:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:229;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:229:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:229:o;10716:184::-;-1:-1:-1;;;10765:1:229;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:229:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:229;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:229;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:229;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:229;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:229:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:229;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:229:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:229;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:229:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:229;;15702:184;-1:-1:-1;15702:184:229:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:229:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:229:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:229;;21043:640;-1:-1:-1;;;;;;;21043:640:229:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:229:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:229:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:229:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:229;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:229:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:229:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1\",\"dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0\",\"dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd\",\"dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xe58029e6eb9d7da3593b49b5421a2796ce6934aa1bfedaf01a03ad93de241368","urls":["bzz-raw://226fbacfebbe0a92a4c4bdab657011838ec35418ba8ef39053a4aa7ff2e08bd1","dweb:/ipfs/QmRLnNuC243ihZvtSnyLvLWEUCxGJ41yCCZFsN3DTD8W2F"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x1bba320942f8309771970dd2809ec647eaf5177b117b1326c7fc062533db75cf","urls":["bzz-raw://bc119956313a7357d7da7c3bf74ab428bd5e1881a29510971afdfeeb2fa5d9d0","dweb:/ipfs/QmXzUrMVpMpzWgMLhQvoUERGwFUZf21R2fPmsq5WfoLfys"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7e6c04e8b9ee48e1db2680cd01fc1d69d53e0e7d8f0982e360e43bf514e93591","urls":["bzz-raw://b3d8f6000ef73bfced40e424cd5312f88e8dfa4ff92d99d5aa34f4b8a2c3dfcd","dweb:/ipfs/QmUGb1aDvcDdzQfze9fKj534o6KyNhqbdzZyJR4zKCGkjN"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":217}
\ No newline at end of file
+{"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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212203d11dc1ab477316dcb4a6bf833f258f95be32aa3802e105bd4af41051131db5f64736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212203d11dc1ab477316dcb4a6bf833f258f95be32aa3802e105bd4af41051131db5f64736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:228;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:228;;;689:74;;677:2;662:18;1262:113:123;543:226:228;1755:239:216;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:228;;1401:2;1386:18;1616:110:123;1267:177:228;1580:169:216;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:216:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:216:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:216;;1279:70;;;;-1:-1:-1;;;1279:70:216;;2807:2:228;1279:70:216;;;2789:21:228;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:216;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:216;;3212:2:228;1360:67:216;;;3194:21:228;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:216;3010:349:228;1360:67:216;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:216;;605:69;;;;-1:-1:-1;;;605:69:216;;3566:2:228;605:69:216;;;3548:21:228;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:216;3364:399:228;605:69:216;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:216;;3970:2:228;685:62:216;;;3952:21:228;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:216;3768:345:228;685:62:216;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:216;;4320:2:228;885:37:216;;;4302:21:228;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:216;4118:339:228;885:37:216;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:216;;4664:2:228;932:38:216;;;4646:21:228;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:216;4462:339:228;932:38:216;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:216;;5008:2:228;980:91:216;;;4990:21:228;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:216;4806:354:228;980:91:216;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:228;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:228;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:228;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:228;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:216:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:216;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:216:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:216;;7009:2:228;4393:63:216;;;6991:21:228;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:216;6807:355:228;4393:63:216;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:216;;7369:2:228;2296:80:216;;;7351:21:228;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:216;7167:403:228;2296:80:216;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:228;;1401:2;1386:18;;1267:177;2515:42:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:216;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:228;2594:9:216;;:20;;1386:18:228;;2594:38:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:216;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:228;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:216;;;;-1:-1:-1;;2754:148:216;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:216;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:216:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:228;18911:18;;3713:52:107;18794:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:216:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:216;;3609:106;-1:-1:-1;3609:106:216:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:228;25536:15;;;45340:92:45;;;25518:34:228;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:228;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:228;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:228;;51494:30:45;27964:279:228;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:228;;;1386:18;;7664:67:24;1267:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:228;30142:79;;2092:30:124;;;30130:92:228;2092:30:124;;30238:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:228;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:228;;1710:439;-1:-1:-1;;;;;1710:439:228:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:228;;2420:180;-1:-1:-1;2420:180:228:o;5165:184::-;-1:-1:-1;;;5214:1:228;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:228;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:228;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:228;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:228;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:228;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:228;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:228;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:228;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:228;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:228;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:228:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:228;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:228:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:228:o;10716:184::-;-1:-1:-1;;;10765:1:228;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:228:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:228;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:228;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:228;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:228;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:228:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:228;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:228:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:228;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:228:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:228;;15702:184;-1:-1:-1;15702:184:228:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:228:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:228:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:228;;21043:640;-1:-1:-1;;;;;;;21043:640:228:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:228:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:228:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:228:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:228;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:228:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:228:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":216}
\ No newline at end of file
diff --git a/packages/contracts/script/PostDeploy.s.sol b/packages/contracts/script/PostDeploy.s.sol
index 1c10fa100..1d9d3d94b 100644
--- a/packages/contracts/script/PostDeploy.s.sol
+++ b/packages/contracts/script/PostDeploy.s.sol
@@ -26,6 +26,7 @@ import {
ITEMS_NAMESPACE,
TOKEN_URI
} from "../constants.sol";
+import {_lootManagerSystemId} from "../src/utils.sol";
import {NoTransferHook} from "../src/NoTransferHook.sol";
import {BEFORE_CALL_SYSTEM} from "@latticexyz/world/src/systemHookTypes.sol";
import {Classes, ItemType, MobType} from "@codegen/common.sol";
@@ -67,6 +68,7 @@ struct ResourceIds {
ResourceId erc1155NamespaceId;
ResourceId itemsSystemId;
ResourceId combatSystemId;
+ ResourceId lootManagerSystemId;
}
contract PostDeploy is Script {
@@ -147,18 +149,19 @@ contract PostDeploy is Script {
resourceIds.erc1155NamespaceId = WorldResourceIdLib.encodeNamespace(ITEMS_NAMESPACE);
resourceIds.itemsSystemId =
WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: "UD", name: "ItemsSystem"});
+ resourceIds.lootManagerSystemId = _lootManagerSystemId("UD");
}
address characterSystemAddress = Systems.getSystem(resourceIds.characterSystemId);
-
System goldSystemContract = new ERC20System();
world.registerSystem(resourceIds.erc20SystemId, goldSystemContract, true);
IWorld(worldAddress).grantAccess(resourceIds.erc20NamespaceId, worldAddress);
+ IWorld(worldAddress).grantAccess(resourceIds.lootManagerSystemId, characterSystemAddress);
IWorld(worldAddress).registerFunctionSelector(resourceIds.erc20SystemId, "mint(address,uint256)");
- world.transferOwnership(resourceIds.erc20NamespaceId, address(characterSystemAddress));
+ world.transferOwnership(resourceIds.erc20NamespaceId, Systems.getSystem(resourceIds.lootManagerSystemId));
System systemContract = new ERC721System();
world.registerSystem(resourceIds.erc721SystemId, systemContract, true);
diff --git a/packages/contracts/src/codegen/world/IItemsSystem.sol b/packages/contracts/src/codegen/world/IItemsSystem.sol
index ae9e4e705..571a85b18 100644
--- a/packages/contracts/src/codegen/world/IItemsSystem.sol
+++ b/packages/contracts/src/codegen/world/IItemsSystem.sol
@@ -30,12 +30,8 @@ interface IItemsSystem {
function UD__getTotalSupply(uint256 tokenId) external view returns (uint256 _supply);
- function UD__issueStarterItems(bytes32 characterId) external;
-
function UD__getStarterItems(Classes class) external view returns (StarterItemsData memory data);
- function UD__dropItems(uint256[] memory itemIds, uint256[] memory amounts, bytes32[] memory characterIds) external;
-
function UD__setTokenUri(uint256 tokenId, string memory tokenUri) external;
function UD__getItemType(uint256 itemId) external view returns (ItemType);
diff --git a/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol b/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
index ed054871f..141db9fed 100644
--- a/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
+++ b/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
@@ -20,4 +20,6 @@ interface IUltimateDominionConfigSystem {
function UD__getItemsContract() external view returns (address _erc1155);
function UD__getMulticallContract() external view returns (address _multicall);
+
+ function UD__getLootManagerSystem() external view returns (address _lootManager);
}
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index 7a0b23388..07c5e74f4 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -22,6 +22,7 @@ import {TokenURI} from "@latticexyz/world-modules/src/modules/erc721-puppet/tabl
import {_tokenUriTableId} from "@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol";
import {IERC20System} from "@latticexyz/world-modules/src/interfaces/IERC20System.sol";
import {IItemsSystem} from "@codegen/world/IItemsSystem.sol";
+import {ILootManagerSystem} from "@codegen/world/ILootManagerSystem.sol";
import {Classes} from "@codegen/common.sol";
import {IERC1155System} from "@erc1155/IERC1155System.sol";
import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
@@ -114,11 +115,14 @@ contract CharacterSystem is System {
function enterGame(bytes32 characterId) public {
require(_isOwner(characterId), "not your character");
require(!Characters.getLocked(characterId), "you have entered the game");
- Stats.setLevel(characterId, 1);
- issueGold(characterId, 5 ether);
+ StatsData memory tempStats = Stats.get(characterId);
+ tempStats.level = 1;
+ tempStats.currentHp = int256(tempStats.baseHitPoints);
+ Stats.set(characterId, tempStats);
+ IWorld(_world()).UD__dropGold(characterId, 5 ether);
// issue starterWeapon
IWorld(_world()).UD__issueStarterItems(characterId);
-
+ // SystemSwitch.call(abi.encodeCall(ILootManagerSystem.UD__issueStarterItems, (characterId)));
Characters.setLocked(characterId, true);
}
@@ -166,10 +170,6 @@ contract CharacterSystem is System {
return Characters.getOwner(characterId);
}
- function issueGold(bytes32 characterId, uint256 amount) internal {
- _gold().mint(getOwner(characterId), amount);
- }
-
function getExperience(bytes32 characterId) public view returns (uint256) {
return Stats.getExperience(characterId);
}
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index c68e90fba..b86212d77 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -249,11 +249,11 @@ contract CombatSystem is System {
uint256 randomNumber
) public returns (int256 damage, bool hit, bool crit) {
// get attacker
- AdjustedCombatStats memory attacker = world().UD__applyEquipmentBonuses(attackerId);
+ AdjustedCombatStats memory attacker = IWorld(_world()).UD__applyEquipmentBonuses(attackerId);
//get defender
- AdjustedCombatStats memory defender = world().UD__applyEquipmentBonuses(defenderId);
+ AdjustedCombatStats memory defender = IWorld(_world()).UD__applyEquipmentBonuses(defenderId);
// get weapon stats
- WeaponStats memory weapon = world().UD__getWeaponStats(weaponId);
+ WeaponStats memory weapon = IWorld(_world()).UD__getWeaponStats(weaponId);
if (defender.currentHp > 0) {
uint64[] memory rnChunks = LibChunks.get4Chunks(randomNumber);
@@ -325,22 +325,47 @@ contract CombatSystem is System {
returns (uint256[] memory itemIds, uint256[] memory amounts, uint256 goldAmount)
{
CombatEncounterData memory encounterData = CombatEncounter.get(encounterId);
+
// check dead attackers and defenders
uint256 cumulativeAttackerLevels;
+ uint256 livingAttackers;
+ bytes32 entityIdTemp;
+ StatsData memory statsTemp;
for (uint256 i; i < encounterData.attackers.length; i++) {
- cumulativeAttackerLevels += Stats.getLevel(encounterData.attackers[i]);
+ statsTemp = Stats.get(encounterData.attackers[i]);
+ cumulativeAttackerLevels += statsTemp.level;
+ if (statsTemp.currentHp > 0) {
+ livingAttackers++;
+ }
}
//if cumulative attacker levels is >= 5 levels above the monster level no gold reward.
// for this calculation level is calculated from exp not from actual leveled levels
+
uint256 goldDrop;
+ uint256 expDrop;
for (uint256 i; i < encounterData.defenders.length; i++) {
- uint256 mobLevel = Stats.getLevel(encounterData.defenders[i]);
- goldDrop += calculateGoldDrop(mobLevel, randomNumber);
+ statsTemp = Stats.get(encounterData.defenders[i]);
+ if (statsTemp.currentHp <= int256(0)) {
+ expDrop += statsTemp.experience;
+ goldDrop += calculateGoldDrop(statsTemp.level, randomNumber);
+ }
}
// drop gold reward calculated from the level of mob to player journey wallet (can mint tokens when he returns to 0,0).
-
// if dead player, drop transfer 50% of un-banked gold to world contract
+ // distribute loot
+
+ for (uint256 i; i < encounterData.attackers.length; i++) {
+ entityIdTemp = encounterData.attackers[i];
+ if (IWorld(_world()).UD__isValidCharacterId(entityIdTemp)) {
+ statsTemp = Stats.get(entityIdTemp);
+ if (statsTemp.currentHp > int256(0) && goldDrop > 0) {
+ statsTemp.experience += expDrop / livingAttackers;
+ IWorld(_world()).UD__dropGold(entityIdTemp, (goldDrop / livingAttackers));
+ Stats.set(entityIdTemp, statsTemp);
+ }
+ }
+ }
}
function calculateGoldDrop(uint256 mobLevel, uint256 randomNumber) public returns (uint256 dropAmount) {
@@ -348,8 +373,4 @@ contract CombatSystem is System {
dropAmount = randomNumber % (BASE_GOLD_DROP * mobLevel);
}
-
- function world() internal returns (IWorld world) {
- return IWorld(_world());
- }
}
diff --git a/packages/contracts/src/systems/ItemsSystem.sol b/packages/contracts/src/systems/ItemsSystem.sol
index 9bb3deb13..6227e22fb 100644
--- a/packages/contracts/src/systems/ItemsSystem.sol
+++ b/packages/contracts/src/systems/ItemsSystem.sol
@@ -23,8 +23,8 @@ import {
import {ItemType, Classes} from "@codegen/common.sol";
import {AccessControlLib} from "@latticexyz/world-modules/src/utils/AccessControlLib.sol";
import {SystemRegistry} from "@latticexyz/world/src/codegen/tables/SystemRegistry.sol";
-import {_erc1155SystemId, _characterSystemId, _requireOwner, _requireAccess} from "../utils.sol";
-import {ITEMS_NAMESPACE} from "../../constants.sol";
+import {_erc1155SystemId, _characterSystemId, _requireOwner, _requireAccess, _lootManagerSystemId} from "../utils.sol";
+import {ITEMS_NAMESPACE, WORLD_NAMESPACE} from "../../constants.sol";
import {WeaponStats, ArmorStats} from "@interfaces/Structs.sol";
import {TotalSupply} from "@erc1155/tables/TotalSupply.sol";
import {Owners} from "@erc1155/tables/Owners.sol";
@@ -59,7 +59,13 @@ contract ItemsSystem is System {
// mint supply to this contract
IWorld(_world()).call(
_erc1155SystemId(ITEMS_NAMESPACE),
- abi.encodeWithSignature("mint(address,uint256,uint256,bytes)", address(this), itemId, supply, "")
+ abi.encodeWithSignature(
+ "mint(address,uint256,uint256,bytes)",
+ Systems.getSystem(_lootManagerSystemId(WORLD_NAMESPACE)),
+ itemId,
+ supply,
+ ""
+ )
);
// see if you can guess what this is doing...
setTokenUri(itemId, itemMetadataURI);
@@ -92,29 +98,10 @@ contract ItemsSystem is System {
_supply = TotalSupply.getTotalSupply(_totalSupplyTableId(ITEMS_NAMESPACE), tokenId);
}
- function issueStarterItems(bytes32 characterId) public {
- require(_msgSender() == Systems.getSystem(_characterSystemId("UD")), "ITEMS: Invalid System");
- StarterItemsData memory starterItems = getStarterItems(Stats.getClass(characterId));
-
- address owner = IWorld(_world()).UD__getOwner(characterId);
-
- for (uint256 i; i < starterItems.itemIds.length; i++) {
- _items().transferFrom(address(this), owner, starterItems.itemIds[i], starterItems.amounts[i]);
- }
- }
-
function getStarterItems(Classes class) public view returns (StarterItemsData memory data) {
return StarterItems.get(class);
}
- function dropItems(uint256[] memory itemIds, uint256[] memory amounts, bytes32[] memory characterIds) public {
- _requireAccess(address(this), _msgSender());
- for (uint256 i; i < itemIds.length; i++) {
- address to = IWorld(_world()).UD__getOwner(characterIds[i]);
- _items().transferFrom(address(this), to, itemIds[i], amounts[i]);
- }
- }
-
function setTokenUri(uint256 tokenId, string memory tokenUri) public {
_requireOwner(address(this), _msgSender());
ERC1155URIStorage.setUri(_erc1155URIStorageTableId(ITEMS_NAMESPACE), tokenId, tokenUri);
diff --git a/packages/contracts/src/systems/UltimateDominionConfigSystem.sol b/packages/contracts/src/systems/UltimateDominionConfigSystem.sol
index 582eb7ddc..7456ea3ca 100644
--- a/packages/contracts/src/systems/UltimateDominionConfigSystem.sol
+++ b/packages/contracts/src/systems/UltimateDominionConfigSystem.sol
@@ -2,7 +2,10 @@
pragma solidity >=0.8.24;
import {System} from "@latticexyz/world/src/System.sol";
+import {Systems} from "@latticexyz/world/src/codegen/tables/Systems.sol";
import {UltimateDominionConfig} from "../codegen/index.sol";
+import {_lootManagerSystemId} from "../utils.sol";
+import {WORLD_NAMESPACE} from "../../constants.sol";
contract UltimateDominionConfigSystem is System {
function getCharacterToken() public view returns (address _characterToken) {
@@ -28,4 +31,8 @@ contract UltimateDominionConfigSystem is System {
function getMulticallContract() public view returns (address _multicall) {
_multicall = UltimateDominionConfig.getMulticall();
}
+
+ function getLootManagerSystem() public view returns (address _lootManager) {
+ _lootManager = Systems.getSystem(_lootManagerSystemId(WORLD_NAMESPACE));
+ }
}
diff --git a/packages/contracts/src/utils.sol b/packages/contracts/src/utils.sol
index 6c7360670..054698617 100644
--- a/packages/contracts/src/utils.sol
+++ b/packages/contracts/src/utils.sol
@@ -15,6 +15,7 @@ bytes16 constant CHARACTER_SYSTEM_NAME = "CharacterSystem";
bytes16 constant ITEMS_SYSTEM_NAME = "ItemsSystem";
bytes16 constant MOB_SYSTEM_NAME = "MobSystem";
bytes16 constant MAP_SYSTEM_NAME = "MapSystem";
+bytes16 constant LOOTMANAGER_SYSTEM_NAME = "LootManagerSyste";
function _erc20SystemId(bytes14 namespace) pure returns (ResourceId) {
return WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: namespace, name: ERC20_SYSTEM_NAME});
@@ -44,10 +45,14 @@ function _mapSystemId(bytes14 namespace) pure returns (ResourceId) {
return WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: namespace, name: MAP_SYSTEM_NAME});
}
-function _requireOwner(address callingSystem, address sender) view {
- AccessControlLib.requireOwner(SystemRegistry.get(callingSystem), sender);
+function _lootManagerSystemId(bytes14 namespace) pure returns (ResourceId) {
+ return WorldResourceIdLib.encode({typeId: RESOURCE_SYSTEM, namespace: namespace, name: LOOTMANAGER_SYSTEM_NAME});
}
-function _requireAccess(address callingSystem, address sender) view {
- AccessControlLib.requireAccess(SystemRegistry.get(callingSystem), sender);
+function _requireOwner(address requiredAddress, address sender) view {
+ AccessControlLib.requireOwner(SystemRegistry.get(requiredAddress), sender);
+}
+
+function _requireAccess(address requiredAddress, address sender) view {
+ AccessControlLib.requireAccess(SystemRegistry.get(requiredAddress), sender);
}
diff --git a/packages/contracts/test/CombatSystem.t.sol b/packages/contracts/test/CombatSystem.t.sol
index 16e1c02f5..ee78ed9bd 100644
--- a/packages/contracts/test/CombatSystem.t.sol
+++ b/packages/contracts/test/CombatSystem.t.sol
@@ -66,7 +66,9 @@ contract Test_CombatSystem is SetUp, GasReporter {
world.UD__createMatch(EncounterType.PvE, attackers, defenders);
}
- function test_EndTurn() public {
+ function test_EndTurn_EndsMatch() public {
+ StatsData memory startingStats = Stats.get(bobCharacterId);
+ uint256 startingGold = goldToken.balanceOf(bob);
vm.prank(bob);
bytes32 matchId = world.UD__createMatch(EncounterType.PvE, attackers, defenders);
Action[] memory actions = new Action[](1);
@@ -76,7 +78,16 @@ contract Test_CombatSystem is SetUp, GasReporter {
vm.prank(bob);
world.UD__endTurn{value: fees}(matchId, bobCharacterId, actions);
- assertNotEq(Stats.get(entityId).currentHp, int256(Stats.get(entityId).baseHitPoints));
+ while (world.UD__getEncounter(matchId).end == 0) {
+ vm.prank(bob);
+ world.UD__endTurn{value: fees}(matchId, bobCharacterId, actions);
+ }
+ StatsData memory endingStats = Stats.get(bobCharacterId);
+ uint256 endingGold = goldToken.balanceOf(bob);
+
+ assertNotEq(startingStats.currentHp, int256(Stats.get(entityId).baseHitPoints));
+ assertGt(endingStats.experience, startingStats.experience);
+ assertGt(endingGold, startingGold);
}
function test_EndTurn_Revert_NonCombatant() public {
@@ -92,6 +103,6 @@ contract Test_CombatSystem is SetUp, GasReporter {
function test_CalculateGoldDrop() public {
uint256 goldDrop = world.UD__calculateGoldDrop(1, uint256(keccak256("thingy")));
- console2.log(goldDrop);
+ assertGt(goldDrop, 0);
}
}
diff --git a/packages/contracts/test/SetUp.sol b/packages/contracts/test/SetUp.sol
index c153625cc..e759aba12 100644
--- a/packages/contracts/test/SetUp.sol
+++ b/packages/contracts/test/SetUp.sol
@@ -14,7 +14,7 @@ import {IERC20Mintable} from "@latticexyz/world-modules/src/modules/erc20-puppet
import {IERC721Mintable} from "@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol";
import {Characters, CharactersData, UltimateDominionConfig} from "@codegen/index.sol";
import {Classes, MobType, ItemType, ActionType} from "@codegen/common.sol";
-import {_itemsSystemId} from "../src/utils.sol";
+import {_itemsSystemId, _lootManagerSystemId} from "../src/utils.sol";
import {WeaponStats, MonsterStats, ArmorStats, PhysicalAttackStats} from "@interfaces/Structs.sol";
import {ResourceId, WorldResourceIdLib, WorldResourceIdInstance} from "@latticexyz/world/src/WorldResourceId.sol";
import {RESOURCE_NAMESPACE} from "@latticexyz/world/src/worldResourceTypes.sol";
@@ -72,7 +72,6 @@ contract SetUp is Test {
PhysicalAttackStats memory basicAttack =
PhysicalAttackStats({bonusDamage: 0, armorPenetration: 0, attackModifierBonus: 0, critChanceBonus: 0});
-
basicAttackId = world.UD__createAction(ActionType.PhysicalAttack, abi.encode(basicAttack));
vm.label(alice, "alice");
@@ -82,8 +81,7 @@ contract SetUp is Test {
newArmorId = world.UD__createItem(ItemType.Armor, 10 ether, 100000000, abi.encode(newArmor), "setup_armor_uri");
- world.grantAccess(_itemsSystemId("UD"), address(this));
-
+ world.grantAccess(_lootManagerSystemId("UD"), address(this));
vm.stopPrank();
vm.prank(alice);
diff --git a/packages/contracts/test/mocks/MockEntropy.sol b/packages/contracts/test/mocks/MockEntropy.sol
index fe91a4ebb..1146e637b 100644
--- a/packages/contracts/test/mocks/MockEntropy.sol
+++ b/packages/contracts/test/mocks/MockEntropy.sol
@@ -8,6 +8,7 @@ import "forge-std/console2.sol";
contract MockEntropy is IEntropy {
uint128 mockFee = 100000;
+ uint256 timesCalled;
function register(
uint128 feeInWei,
@@ -36,8 +37,9 @@ contract MockEntropy is IEntropy {
) external payable returns (uint64 assignedSequenceNumber) {
// require(msg.value == mockFee, 'more fees please');
assignedSequenceNumber = uint64(1234567);
- bytes32 randomNumber = keccak256(abi.encode(block.number));
+ bytes32 randomNumber = keccak256(abi.encode(block.number + timesCalled));
IEntropyConsumer(msg.sender)._entropyCallback(assignedSequenceNumber, address(1), randomNumber);
+ timesCalled++;
return assignedSequenceNumber;
}
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 82156af55..537af92d0 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0x566f79ddacda6c02e2e6b4bbaa5ee843961b76c2"
+ "address": "0xd5274fd8e66408599e437619e13621aaf79e4a1a"
},
"84532": {
"address": "0x304d17a51415f9ce2a1c3d5213a10c58098b1d44",
From f6acb0750f57c7d360b5801bd7cc42563449a491 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Sun, 14 Jul 2024 20:28:25 -0500
Subject: [PATCH 4/8] fixed item un-equipping
---
.../CharacterSystem.abi.json | 24 +++++++
.../CharacterSystem.abi.json.d.ts | 24 +++++++
.../CharacterSystem.sol/CharacterSystem.json | 2 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 65 +++++++++++++++++++
.../out/IWorld.sol/IWorld.abi.json.d.ts | 65 +++++++++++++++++++
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../out/MapSystem.sol/MapSystem.json | 2 +-
.../src/codegen/world/IActionSystem.sol | 4 ++
.../src/codegen/world/ICharacterSystem.sol | 2 +
packages/contracts/src/interfaces/Structs.sol | 1 +
.../contracts/src/systems/ActionSystem.sol | 10 ++-
.../contracts/src/systems/CharacterSystem.sol | 7 +-
.../contracts/src/systems/EquipmentSystem.sol | 29 ++++++---
packages/contracts/test/SetUp.sol | 9 ++-
packages/contracts/worlds.json | 2 +-
15 files changed, 229 insertions(+), 19 deletions(-)
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
index 240197529..96cadeadc 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json
@@ -283,6 +283,30 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "isValidOwner",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "owner",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "mintCharacter",
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
index 02df23f8f..79e4faeef 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.abi.json.d.ts
@@ -283,6 +283,30 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "isValidOwner",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "owner",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "mintCharacter",
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
index 89006bb05..101bc3284 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
@@ -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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061484c806100206000396000f3fe6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc57806323801570116100e1578063238015701461022b57806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd5780631ecb393f1461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613d64565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b610186366004613d7d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613d64565b61043f565b6040516101629190613df6565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613f31565b61045f565b604051908152602001610162565b34801561021757600080fd5b506101fd610226366004613d64565b6106c1565b34801561023757600080fd5b5061024b610246366004613d64565b61073f565b6040516101629190613f8a565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613d64565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613d64565b610755565b6102c36102be366004613f9d565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613d64565b6109f9565b3480156102f157600080fd5b506102c3610300366004613fda565b610a8e565b34801561031157600080fd5b506102c3610320366004613d64565b610aff565b34801561033157600080fd5b5061014e610340366004613d64565b610ccf565b34801561035157600080fd5b5061014e610cda565b34801561036657600080fd5b506101fd610375366004613d64565b610ce4565b34801561038657600080fd5b506101fd610395366004613d64565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610447613d0e565b61043982610cef565b600061045a610da1565b905090565b60008061046a610dd3565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610cda565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610e06565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401614071565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261062491908101906140cf565b5061062e816109f9565b915061063a8286610e53565b6106448282610f22565b61064d84610fa1565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001611046565b6106af82856110ff565b6106b9818461117e565b509392505050565b60006106cd60136111b1565b82106106db57506014919050565b60005b601481101561073957826106f1826111b1565b1115801561071057508261070e61070983600161411a565b6111b1565b115b156107275761072081600161411a565b9150610739565b806107318161412d565b9150506106de565b50919050565b60006104398261122d565b6000610439826112d7565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d611369565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190614147565b60015b15610862576107f0611369565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190614147565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a82611373565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611405565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e83836114c1565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401614164565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526115aa565b5050505050565b600080610a04611369565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190614147565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611405565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff83168261117e565b5050565b610b0881611405565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d81611373565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b6000610bb582610cef565b600160e0820152608081015160a08201529050610bd28282611658565b610bda610cda565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50505050610c65610cda565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610c9291815260200190565b600060405180830381600087803b158015610cac57600080fd5b505af1158015610cc0573d6000803e3d6000fd5b50505050610afb826001611709565b60006104398261178d565b600061045a61182a565b600061043982611834565b610cf7613d0e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d2d57610d2d61418c565b602090810291909101015260008080610d867f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006118c6565b925092509250610d97838383611996565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610dd05750335b90565b600080610dde611a0e565b90506000610ded826000611a76565b610df890600161411a565b905061043982600083611b27565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611bf7565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e8957610e8961418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610ee8919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611c6f565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f5857610f5861418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610ee891815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610fda57610fda61418c565b602090810291909101015260006110327f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611d24565b905061103e8160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061107c5761107c61418c565b602002602001018181525050610f1d7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016110ca91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611c6f565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106111355761113561418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610ee891815260200190565b610afb6111aa7f4368617261637465727300000000000000000000000000000000000000000000611de1565b8383611e2e565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111ed576111ed61418c565b6020908102919091010152600061103e7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611d24565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112665761126661418c565b602090810291909101015260006112bf7f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611d24565b905060f881901c600281111561103e5761103e613dbf565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113105761131061418c565b6020908102919091010152600061103e7f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611d24565b600061045a611a0e565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113ac576113ac61418c565b602090810291909101015260006110327f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611d24565b600061140f611369565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190614147565b6001600160a01b03166114b1610450565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106114f7576114f761418c565b6020908102919091010152610f1d7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561153a5761153a613dbf565b604051602001611575919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611c6f565b60606000806115c06115bb856141a2565b611e80565b91509150816000801b03611626576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168217905261103e8285611f50565b600061168a826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161202b565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106116c9576116c961418c565b60209081029190910101526117017f746255440000000000000000000000005374617473000000000000000000000082868686612069565b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061173f5761173f61418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610ee891151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117c6576117c661418c565b6020908102919091010152600061181f7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611d24565b60601c949350505050565b600061045a6120df565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061186d5761186d61418c565b6020908102919091010152600061103e7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611d24565b60606000606060006118d66120df565b9050306001600160a01b038216036118ff576118f387878761211e565b9350935093505061198d565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611948908a908a908a9060040161422e565b600060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118f39190810190614257565b93509350939050565b61199e613d0e565b6119a784612226565b60e0890181905260c0890182905260a0890183905260808901849052606089018590528860208101604082018860028111156119e5576119e5613dbf565b60028111156119f6576119f6613dbf565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611a6c7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611d24565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611abb57611abb61418c565b6020026020010181815250508260001b81600181518110611ade57611ade61418c565b60209081029190910101526000611b1e7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611d24565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611b6857611b6861418c565b6020026020010181815250508260001b81600181518110611b8b57611b8b61418c565b602002602001018181525050611bf17f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611bd491815260200190565b60408051601f19818403018152919052630100080160dd1b611c6f565b50505050565b6000611c056070601061411a565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611c796120df565b9050306001600160a01b03821603611c9d57611c988686868686612294565b611701565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611cea90899089908990899089906004016142ba565b600060405180830381600087803b158015611d0457600080fd5b505af1158015611d18573d6000803e3d6000fd5b50505050505050505050565b600080611d2f6120df565b9050306001600160a01b03821603611d5557611d4d868686866122a9565b91505061103e565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611da0908990899089908990600401614301565b602060405180830381865afa158015611dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d9190614330565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611bf7565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611e6757611e6761418c565b602002602001018181525050611bf184826000856122d6565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611ed957611ed961418c565b602090810291909101015260008080611f327f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006118c6565b925092509250611f43838383612387565b9550955050505050915091565b60606000611f5c61182a565b90506001600160a01b0381163003611f9d576000611f84611f7b610da1565b6000878761239f565b9350905080611f9657611f96836124da565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611fe49087908790600401614071565b6000604051808303816000875af1158015612003573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261103e91908101906140cf565b6060888888888888888860405160200161204c989796959493929190614349565b604051602081830303815290604052905098975050505050505050565b60006120736120df565b9050306001600160a01b0382160361209257611c9886868686866124e2565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611cea908990899089908990899060040161438e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612119573391505090565b919050565b606060006060600061212f856124f8565b905061213c87878361251b565b9350600061214986612554565b9050801561221b5761215b8888612591565b935066ffffffffffffff841667ffffffffffffffff81111561217f5761217f613e6c565b6040519080825280601f01601f1916602001820160405280156121a9576020820181803683370190505b5092506020830160005b828160ff1610156122185760006121cb8b8b846125a4565b905060006121e8888460ff166028026038011c64ffffffffff1690565b90506121f78260008387612624565b612201818561411a565b935050508080612210906143df565b9150506121b3565b50505b505093509350939050565b600080600080600080600080612240896000016020015190565b60408a015160608b0151919950975060f81c600281111561226357612263613dbf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f285856122a384876126f0565b85612721565b6000611b1e6122b886866129c5565b60ff858116601b0360080285901c166122d185876126f0565b612a1b565b60006122e06120df565b9050306001600160a01b03821603612303576122fe85858585612a6c565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061234e9088908890889088906004016143fe565b600060405180830381600087803b15801561236857600080fd5b505af115801561237c573d6000803e3d6000fd5b505050505050505050565b60008061239385612aa7565b90969095509350505050565b600060606000806123af86612abc565b90925090506001600160a01b03821661240057856123cc87612b60565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190614071565b8061240f5761240f8689612c8e565b861561247b577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061246382612cda565b9050612478826124738b8461411a565b612d53565b50505b60006124878760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146124bf576124ba88888488612def565b6124cb565b6124cb88888488612e67565b90999098509650505050505050565b805160208201fd5b6109f285858585856124f38b612ec8565b612f4d565b600060086125086002602061443d565b6125129190614450565b9190911c919050565b60608160000361253a5750604080516020810190915260008152611c68565b600061254685856129c5565b9050611b1e81600085613286565b600060086001806125676002602061443d565b612571919061443d565b61257b919061443d565b6125859190614450565b8260ff911c1692915050565b6000611c686125a084846132a9565b5490565b600083836040516020016125b9929190614467565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156126ab576020831061264e5760208304840193506020838161264a5761264a6144a3565b0692505b82156126ab5760208390036000818410156126715750600019600884021c61267b565b50600019600882021c5b8554600886021b81845116821982161784525081841161269c575050611bf1565b50600194909401939182900391015b5b602082106126cd5783548152600190930192601f19909101906020016126ac565b8115611bf1576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761271760ff601b83900360080287901c168361411a565b91506001016126f5565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036127ab57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161279e939291906144b9565b60405180910390a2611bf1565b60006127b785856129c5565b905060006127c4866132ff565b905060005b81518110156128995760008282815181106127e6576127e661418c565b602002602001015190506128126004826affffffffffffffffffffff191661338890919063ffffffff16565b15612890576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061285d908b908b908b908b906004016144ec565b600060405180830381600087803b15801561287757600080fd5b505af115801561288b573d6000803e3d6000fd5b505050505b506001016127c9565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516128ce939291906144b9565b60405180910390a26128e9828565ffffffffffff16856133a6565b60005b81518110156129bc5760008282815181106129095761290961418c565b602002602001015190506129356008826affffffffffffffffffffff191661338890919063ffffffff16565b156129b3576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612980908b908b908b908b906004016144ec565b600060405180830381600087803b15801561299a57600080fd5b505af11580156129ae573d6000803e3d6000fd5b505050505b506001016128ec565b50505050505050565b600082826040516020016129da929190614467565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612a4157602082048401935060208281612a3d57612a3d6144a3565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612a788585612591565b90506000612a95828560ff166028026038011c64ffffffffff1690565b905061170186868660008588886133bc565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612af657612af661418c565b602090810291909101015260008080612b4f7f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061211e565b925092509250611f438383836137f6565b606081601081901b6000612b7383613802565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612bce57612bc97fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613819565b612c05565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612c2c57612c2783613819565b612c63565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612c7593929190614525565b6040516020818303038152906040529350505050919050565b612c98828261389f565b610afb57612ca582612b60565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e99291906145b3565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612d1357612d1361418c565b6020908102919091010152600061103e7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6122a9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612d8957612d8961418c565b602002602001018181525050610f1d7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612dd291815260200190565b60408051601f19818403018152919052630100080160dd1b612294565b60006060836001600160a01b03166000612e0a8589896138fd565b604051612e1791906145de565b60006040518083038185875af1925050503d8060008114612e54576040519150601f19603f3d011682016040523d82523d6000602084013e612e59565b606091505b509097909650945050505050565b60006060836001600160a01b0316612e808488886138fd565b604051612e8d91906145de565b600060405180830381855af49150503d8060008114612e54576040519150601f19603f3d011682016040523d82523d6000602084013e612e59565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201612f1757507e60030220202000000000000000000000000000000000000000000000000000919050565b610439612f447f746273746f72650000000000000000005461626c6573000000000000000000008461392c565b60206000612a1b565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612fd957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612fcc94939291906145fa565b60405180910390a2611701565b6000612fe4876132ff565b905060005b81518110156130bd5760008282815181106130065761300661418c565b602002602001015190506130326001826affffffffffffffffffffff191661338890919063ffffffff16565b156130b4576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613081908c908c908c908c908c908c90600401614639565b600060405180830381600087803b15801561309b57600080fd5b505af11580156130af573d6000803e3d6000fd5b505050505b50600101612fe9565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516130f494939291906145fa565b60405180910390a2600061310888886129c5565b90506000602087019050613120826000895184613948565b600061312b85612554565b11156131af57600061313d8a8a6132a9565b878155905060208601915060008060005b61315788612554565b8160ff1610156131aa5761316c8d8d836125a4565b92506131878a8260ff166028026038011c64ffffffffff1690565b91506131968360008488613948565b6131a0828661411a565b945060010161314e565b505050505b60005b8351811015611d185760008482815181106131cf576131cf61418c565b602002602001015190506131fb6002826affffffffffffffffffffff191661338890919063ffffffff16565b1561327d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061324a908e908e908e908e908e908e90600401614639565b600060405180830381600087803b15801561326457600080fd5b505af1158015613278573d6000803e3d6000fd5b505050505b506001016131b2565b60405160208101601f19603f84840101166040528282526106b985858584612624565b600082826040516020016132be929190614467565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106133395761333961418c565b602090810291909101015260006133717f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613a07565b905061103e6133838260008451613a41565b613acf565b60008160ff16826133998560581c90565b1660ff1614905092915050565b610f1d838383516133b78560200190565b613948565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461347c577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161343a91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614692565b6000613497828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836134b0919061443d565b6134ba919061411a565b90508082141580156134dc5750816134d286886146d3565b64ffffffffff1614155b1561352c576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff16111561357d576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b600061358a848984613ae0565b905060006135978b6132ff565b905060005b81518110156136625760008282815181106135b9576135b961418c565b602002602001015190506135e56010826affffffffffffffffffffff191661338890919063ffffffff16565b1561365957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161362697969594939291906146f8565b600060405180830381600087803b15801561364057600080fd5b505af1158015613654573d6000803e3d6000fd5b505050505b5060010161359c565b5064ffffffffff881660005b8a60ff168160ff1610156136a157613695878260ff166028026038011c64ffffffffff1690565b9091019060010161366e565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516136dc96959493929190614756565b60405180910390a2508284146136fd5760006136f88c8c6132a9565b839055505b600061370a8c8c8c6125a4565b905061371e818a64ffffffffff16896133a6565b5060005b81518110156137e857600082828151811061373f5761373f61418c565b6020026020010151905061376b6020826affffffffffffffffffffff191661338890919063ffffffff16565b156137df57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016137ac97969594939291906146f8565b600060405180830381600087803b1580156137c657600080fd5b505af11580156137da573d6000803e3d6000fd5b505050505b50600101613722565b505050505050505050505050565b60008061239385613bae565b60006138106070601061411a565b9190911b919050565b606060005b601081101561386f576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561386f5760010161381e565b604080516fffffffffffffffffffffffffffffffff1985166020820152815160309091019091528181528061103e565b60006138ed7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613bca565b80611c685750611c688383613bca565b6060838383604051602001613914939291906147b2565b60405160208183030381529060405290509392505050565b60408051602081018490529081018290526000906060016129da565b82156139c257602083106139725760208304840193506020838161396e5761396e6144a3565b0692505b82156139c25760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116139b3575050611bf1565b50600194909401939182900391015b5b602082106139e45780518455600190930192601f19909101906020016139c3565b8115611bf1576000600019600884021c8554835182191691161785555050505050565b606061103e613a178585856125a4565b6000613a3c85613a278989612591565b9060ff166028026038011c64ffffffffff1690565b613286565b600081831180613a515750835182115b15613a8e578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906147f1565b60208401613a9c848261411a565b90506000613aaa858561443d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611c688360156000613c93565b600064ffffffffff821115613b24576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613b565780850382019150613b5e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612ab5565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613c0357613c0361418c565b602002602001018181525050826001600160a01b031660001b81600181518110613c2f57613c2f61418c565b60209081029190910101526000613c877f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006122a9565b9050611b1e8160f81c90565b60606000613ca18560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613cc757613cc76144a3565b04905060405193506020840160208202810160405281855260005b82811015613d02578451871c825293870193602090910190600101613ce2565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613d3b57613d3b613dbf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613d7657600080fd5b5035919050565b600060208284031215613d8f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c6857600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613df357634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613e1881613dd5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613df357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613eab57613eab613e6c565b604052919050565b600067ffffffffffffffff821115613ecd57613ecd613e6c565b50601f01601f191660200190565b600082601f830112613eec57600080fd5b8135613eff613efa82613eb3565b613e82565b818152846020838601011115613f1457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f4657600080fd5b8335613f5181613e57565b925060208401359150604084013567ffffffffffffffff811115613f7457600080fd5b613f8086828701613edb565b9150509250925092565b60208101613f9783613dd5565b91905290565b600080600060608486031215613fb257600080fd5b8335925060208401359150604084013560038110613fcf57600080fd5b809150509250925092565b60008060408385031215613fed57600080fd5b82359150602083013567ffffffffffffffff81111561400b57600080fd5b61401785828601613edb565b9150509250929050565b60005b8381101561403c578181015183820152602001614024565b50506000910152565b6000815180845261405d816020860160208601614021565b601f01601f19169290920160200192915050565b82815260406020820152600061103e6040830184614045565b600082601f83011261409b57600080fd5b81516140a9613efa82613eb3565b8181528460208386010111156140be57600080fd5b61103e826020830160208701614021565b6000602082840312156140e157600080fd5b815167ffffffffffffffff8111156140f857600080fd5b61103e8482850161408a565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439614104565b6000600019820361414057614140614104565b5060010190565b60006020828403121561415957600080fd5b8151611c6881613e57565b83815261417083613dd5565b826020820152606060408201526000611b1e6060830184614045565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156141ea5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561422357815187529582019590820190600101614207565b509495945050505050565b83815260606020820152600061424760608301856141f2565b9050826040830152949350505050565b60008060006060848603121561426c57600080fd5b835167ffffffffffffffff8082111561428457600080fd5b6142908783880161408a565b94506020860151935060408601519150808211156142ad57600080fd5b50613f808682870161408a565b85815260a0602082015260006142d360a08301876141f2565b60ff8616604084015282810360608401526142ee8186614045565b9150508260808301529695505050505050565b84815260806020820152600061431a60808301866141f2565b60ff949094166040830152506060015292915050565b60006020828403121561434257600080fd5b5051919050565b88815287602082015261435b87613dd5565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006143a760a08301876141f2565b82810360408401526143b98187614045565b905084606084015282810360808401526143d38185614045565b98975050505050505050565b600060ff821660ff81036143f5576143f5614104565b60010192915050565b84815260806020820152600061441760808301866141f2565b60ff8516604084015282810360608401526144328185614045565b979650505050505050565b8181038181111561043957610439614104565b808202811582820484141761043957610439614104565b8281526000602080830184516020860160005b828110156144965781518452928401929084019060010161447a565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006144cc60608301866141f2565b65ffffffffffff851660208401528281036040840152610d978185614045565b84815260806020820152600061450560808301866141f2565b65ffffffffffff8516604084015282810360608401526144328185614045565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614586816003860160208901614021565b8084019050816003820152845191506145a6826004830160208801614021565b0160040195945050505050565b6040815260006145c66040830185614045565b90506001600160a01b03831660208301529392505050565b600082516145f0818460208701614021565b9190910192915050565b60808152600061460d60808301876141f2565b828103602084015261461f8187614045565b905084604084015282810360608401526144328185614045565b86815260c06020820152600061465260c08301886141f2565b82810360408401526146648188614045565b9050856060840152828103608084015261467e8186614045565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611b1e6060830184614045565b64ffffffffff8181168382160190808211156146f1576146f1614104565b5092915050565b87815260e06020820152600061471160e08301896141f2565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147488185614045565b9a9950505050505050505050565b60c08152600061476960c08301896141f2565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526147a58185614045565b9998505050505050505050565b600084516147c4818460208901614021565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006148046060830186614045565b6020830194909452506040015291905056fea264697066735822122086d244e76566d88f08574505a94c682c41e0427c140ef488ae6e6840ef8c383e64736f6c63430008180033","sourceMap":"1812:6136:211:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101285760003560e01c8063623daa05116100a5578063c74dedc811610074578063e1af802c11610059578063e1af802c14610345578063ebee03bb1461035a578063f8c675611461037a57600080fd5b8063c74dedc814610305578063deb931a21461032557600080fd5b8063623daa0514610290578063679ee16d146102b05780638338f0e0146102c5578063b27cbcbb146102e557600080fd5b8063143f3021116100fc57806323801570116100e1578063238015701461022b57806345ec93541461025857806354b8d5e31461027057600080fd5b8063143f3021146101dd5780631ecb393f1461020b57600080fd5b8062d43ec61461012d57806301ffc9a71461016b5780630bb700dc1461019b578063119df25f146101c8575b600080fd5b34801561013957600080fd5b5061014e610148366004613d64565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017757600080fd5b5061018b610186366004613d7d565b6103a6565b6040519015158152602001610162565b3480156101a757600080fd5b506101bb6101b6366004613d64565b61043f565b6040516101629190613df6565b3480156101d457600080fd5b5061014e610450565b3480156101e957600080fd5b506101fd6101f8366004613f31565b61045f565b604051908152602001610162565b34801561021757600080fd5b506101fd610226366004613d64565b6106c1565b34801561023757600080fd5b5061024b610246366004613d64565b61073f565b6040516101629190613f8a565b34801561026457600080fd5b5036601f1901356101fd565b34801561027c57600080fd5b506101fd61028b366004613d64565b61074a565b34801561029c57600080fd5b5061018b6102ab366004613d64565b610755565b6102c36102be366004613f9d565b610881565b005b3480156102d157600080fd5b506101fd6102e0366004613d64565b6109f9565b3480156102f157600080fd5b506102c3610300366004613fda565b610a8e565b34801561031157600080fd5b506102c3610320366004613d64565b610aff565b34801561033157600080fd5b5061014e610340366004613d64565b610ccf565b34801561035157600080fd5b5061014e610cda565b34801561036657600080fd5b506101fd610375366004613d64565b610ce4565b34801561038657600080fd5b506101fd610395366004613d64565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061043957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610447613d0e565b61043982610cef565b600061045a610da1565b905090565b60008061046a610dd3565b90506bffffffffffffffffffffffff81106104f25760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104fa610cda565b6001600160a01b0316633ae7af086105317f4368617261637465727300000000000000000000000000000000000000000000610e06565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526105dd929190600401614071565b6000604051808303816000875af11580156105fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261062491908101906140cf565b5061062e816109f9565b915061063a8286610e53565b6106448282610f22565b61064d84610fa1565b1561069a5760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c7265616479206578697374730000000000000000000000000060448201526064016104e9565b6106a5846001611046565b6106af82856110ff565b6106b9818461117e565b509392505050565b60006106cd60136111b1565b82106106db57506014919050565b60005b601481101561073957826106f1826111b1565b1115801561071057508261070e61070983600161411a565b6111b1565b115b156107275761072081600161411a565b9150610739565b806107318161412d565b9150506106de565b50919050565b60006104398261122d565b6000610439826112d7565b6000806107628360601c90565b90506bffffffffffffffffffffffff8316600061077d611369565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107aa91815260200190565b602060405180830381865afa9250505080156107e3575060408051601f3d908101601f191682019092526107e091810190614147565b60015b15610862576107f0611369565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161081d91815260200190565b602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190614147565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b61088a82611373565b156108fd5760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c6400000000000000000000000000000000000000000060648201526084016104e9565b61090682611405565b6109525760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e0000000000000000000000000060448201526064016104e9565b600061095e83836114c1565b6109f284828560405160200161097691815260200190565b60408051601f1981840301815290829052610995939291602401614164565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526115aa565b5050505050565b600080610a04611369565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a3191815260200190565b602060405180830381865afa158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190614147565b60601b6bffffffffffffffffffffffff19169290921792915050565b610a9782611405565b610ae35760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a454400000000000060448201526064016104e9565b610afb6bffffffffffffffffffffffff83168261117e565b5050565b610b0881611405565b610b545760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f757220636861726163746572000000000000000000000000000060448201526064016104e9565b610b5d81611373565b15610baa5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d650000000000000060448201526064016104e9565b6000610bb582610cef565b600160e0820152608081015160a08201529050610bd28282611658565b610bda610cda565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610c4557600080fd5b505af1158015610c59573d6000803e3d6000fd5b50505050610c65610cda565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610c9291815260200190565b600060405180830381600087803b158015610cac57600080fd5b505af1158015610cc0573d6000803e3d6000fd5b50505050610afb826001611709565b60006104398261178d565b600061045a61182a565b600061043982611834565b610cf7613d0e565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d2d57610d2d61418c565b602090810291909101015260008080610d867f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006118c6565b925092509250610d97838383611996565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610dd05750335b90565b600080610dde611a0e565b90506000610ded826000611a76565b610df890600161411a565b905061043982600083611b27565b60006104397f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611bf7565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e8957610e8961418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610ee8919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611c6f565b505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f5857610f5861418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610ee891815260200190565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610fda57610fda61418c565b602090810291909101015260006110327f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611d24565b905061103e8160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061107c5761107c61418c565b602002602001018181525050610f1d7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016110ca91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611c6f565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106111355761113561418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610ee891815260200190565b610afb6111aa7f4368617261637465727300000000000000000000000000000000000000000000611de1565b8383611e2e565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106111ed576111ed61418c565b6020908102919091010152600061103e7f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611d24565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106112665761126661418c565b602090810291909101015260006112bf7f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611d24565b905060f881901c600281111561103e5761103e613dbf565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113105761131061418c565b6020908102919091010152600061103e7f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611d24565b600061045a611a0e565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106113ac576113ac61418c565b602090810291909101015260006110327f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611d24565b600061140f611369565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561147c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a09190614147565b6001600160a01b03166114b1610450565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106114f7576114f761418c565b6020908102919091010152610f1d7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561153a5761153a613dbf565b604051602001611575919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611c6f565b60606000806115c06115bb856141a2565b611e80565b91509150816000801b03611626576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016104e9565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168217905261103e8285611f50565b600061168a826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161202b565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106116c9576116c961418c565b60209081029190910101526117017f746255440000000000000000000000005374617473000000000000000000000082868686612069565b505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061173f5761173f61418c565b602002602001018181525050610f1d7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610ee891151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106117c6576117c661418c565b6020908102919091010152600061181f7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611d24565b60601c949350505050565b600061045a6120df565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061186d5761186d61418c565b6020908102919091010152600061103e7f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611d24565b60606000606060006118d66120df565b9050306001600160a01b038216036118ff576118f387878761211e565b9350935093505061198d565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611948908a908a908a9060040161422e565b600060405180830381865afa158015611965573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118f39190810190614257565b93509350939050565b61199e613d0e565b6119a784612226565b60e0890181905260c0890182905260a0890183905260808901849052606089018590528860208101604082018860028111156119e5576119e5613dbf565b60028111156119f6576119f6613dbf565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611a6c7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611d24565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611abb57611abb61418c565b6020026020010181815250508260001b81600181518110611ade57611ade61418c565b60209081029190910101526000611b1e7f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611d24565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611b6857611b6861418c565b6020026020010181815250508260001b81600181518110611b8b57611b8b61418c565b602002602001018181525050611bf17f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611bd491815260200190565b60408051601f19818403018152919052630100080160dd1b611c6f565b50505050565b6000611c056070601061411a565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790505b9392505050565b6000611c796120df565b9050306001600160a01b03821603611c9d57611c988686868686612294565b611701565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611cea90899089908990899089906004016142ba565b600060405180830381600087803b158015611d0457600080fd5b505af1158015611d18573d6000803e3d6000fd5b50505050505050505050565b600080611d2f6120df565b9050306001600160a01b03821603611d5557611d4d868686866122a9565b91505061103e565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611da0908990899089908990600401614301565b602060405180830381865afa158015611dbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d9190614330565b60006104397f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611bf7565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611e6757611e6761418c565b602002602001018181525050611bf184826000856122d6565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611ed957611ed961418c565b602090810291909101015260008080611f327f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006118c6565b925092509250611f43838383612387565b9550955050505050915091565b60606000611f5c61182a565b90506001600160a01b0381163003611f9d576000611f84611f7b610da1565b6000878761239f565b9350905080611f9657611f96836124da565b5050610439565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611fe49087908790600401614071565b6000604051808303816000875af1158015612003573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261103e91908101906140cf565b6060888888888888888860405160200161204c989796959493929190614349565b604051602081830303815290604052905098975050505050505050565b60006120736120df565b9050306001600160a01b0382160361209257611c9886868686866124e2565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611cea908990899089908990899060040161438e565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680612119573391505090565b919050565b606060006060600061212f856124f8565b905061213c87878361251b565b9350600061214986612554565b9050801561221b5761215b8888612591565b935066ffffffffffffff841667ffffffffffffffff81111561217f5761217f613e6c565b6040519080825280601f01601f1916602001820160405280156121a9576020820181803683370190505b5092506020830160005b828160ff1610156122185760006121cb8b8b846125a4565b905060006121e8888460ff166028026038011c64ffffffffff1690565b90506121f78260008387612624565b612201818561411a565b935050508080612210906143df565b9150506121b3565b50505b505093509350939050565b600080600080600080600080612240896000016020015190565b60408a015160608b0151919950975060f81c600281111561226357612263613dbf565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b6109f285856122a384876126f0565b85612721565b6000611b1e6122b886866129c5565b60ff858116601b0360080285901c166122d185876126f0565b612a1b565b60006122e06120df565b9050306001600160a01b03821603612303576122fe85858585612a6c565b6109f2565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061234e9088908890889088906004016143fe565b600060405180830381600087803b15801561236857600080fd5b505af115801561237c573d6000803e3d6000fd5b505050505050505050565b60008061239385612aa7565b90969095509350505050565b600060606000806123af86612abc565b90925090506001600160a01b03821661240057856123cc87612b60565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016104e9929190614071565b8061240f5761240f8689612c8e565b861561247b577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061246382612cda565b9050612478826124738b8461411a565b612d53565b50505b60006124878760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146124bf576124ba88888488612def565b6124cb565b6124cb88888488612e67565b90999098509650505050505050565b805160208201fd5b6109f285858585856124f38b612ec8565b612f4d565b600060086125086002602061443d565b6125129190614450565b9190911c919050565b60608160000361253a5750604080516020810190915260008152611c68565b600061254685856129c5565b9050611b1e81600085613286565b600060086001806125676002602061443d565b612571919061443d565b61257b919061443d565b6125859190614450565b8260ff911c1692915050565b6000611c686125a084846132a9565b5490565b600083836040516020016125b9929190614467565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156126ab576020831061264e5760208304840193506020838161264a5761264a6144a3565b0692505b82156126ab5760208390036000818410156126715750600019600884021c61267b565b50600019600882021c5b8554600886021b81845116821982161784525081841161269c575050611bf1565b50600194909401939182900391015b5b602082106126cd5783548152600190930192601f19909101906020016126ac565b8115611bf1576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106b95761271760ff601b83900360080287901c168361411a565b91506001016126f5565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036127ab57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161279e939291906144b9565b60405180910390a2611bf1565b60006127b785856129c5565b905060006127c4866132ff565b905060005b81518110156128995760008282815181106127e6576127e661418c565b602002602001015190506128126004826affffffffffffffffffffff191661338890919063ffffffff16565b15612890576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061285d908b908b908b908b906004016144ec565b600060405180830381600087803b15801561287757600080fd5b505af115801561288b573d6000803e3d6000fd5b505050505b506001016127c9565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516128ce939291906144b9565b60405180910390a26128e9828565ffffffffffff16856133a6565b60005b81518110156129bc5760008282815181106129095761290961418c565b602002602001015190506129356008826affffffffffffffffffffff191661338890919063ffffffff16565b156129b3576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612980908b908b908b908b906004016144ec565b600060405180830381600087803b15801561299a57600080fd5b505af11580156129ae573d6000803e3d6000fd5b505050505b506001016128ec565b50505050505050565b600082826040516020016129da929190614467565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612a4157602082048401935060208281612a3d57612a3d6144a3565b0691505b508254600882021b6020829003808411156106b9576001850154600882021c82179150509392505050565b6000612a788585612591565b90506000612a95828560ff166028026038011c64ffffffffff1690565b905061170186868660008588886133bc565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612af657612af661418c565b602090810291909101015260008080612b4f7f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061211e565b925092509250611f438383836137f6565b606081601081901b6000612b7383613802565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612bce57612bc97fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613819565b612c05565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612c2c57612c2783613819565b612c63565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612c7593929190614525565b6040516020818303038152906040529350505050919050565b612c98828261389f565b610afb57612ca582612b60565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016104e99291906145b3565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612d1357612d1361418c565b6020908102919091010152600061103e7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6122a9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612d8957612d8961418c565b602002602001018181525050610f1d7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612dd291815260200190565b60408051601f19818403018152919052630100080160dd1b612294565b60006060836001600160a01b03166000612e0a8589896138fd565b604051612e1791906145de565b60006040518083038185875af1925050503d8060008114612e54576040519150601f19603f3d011682016040523d82523d6000602084013e612e59565b606091505b509097909650945050505050565b60006060836001600160a01b0316612e808488886138fd565b604051612e8d91906145de565b600060405180830381855af49150503d8060008114612e54576040519150601f19603f3d011682016040523d82523d6000602084013e612e59565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201612f1757507e60030220202000000000000000000000000000000000000000000000000000919050565b610439612f447f746273746f72650000000000000000005461626c6573000000000000000000008461392c565b60206000612a1b565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603612fd957857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612fcc94939291906145fa565b60405180910390a2611701565b6000612fe4876132ff565b905060005b81518110156130bd5760008282815181106130065761300661418c565b602002602001015190506130326001826affffffffffffffffffffff191661338890919063ffffffff16565b156130b4576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613081908c908c908c908c908c908c90600401614639565b600060405180830381600087803b15801561309b57600080fd5b505af11580156130af573d6000803e3d6000fd5b505050505b50600101612fe9565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516130f494939291906145fa565b60405180910390a2600061310888886129c5565b90506000602087019050613120826000895184613948565b600061312b85612554565b11156131af57600061313d8a8a6132a9565b878155905060208601915060008060005b61315788612554565b8160ff1610156131aa5761316c8d8d836125a4565b92506131878a8260ff166028026038011c64ffffffffff1690565b91506131968360008488613948565b6131a0828661411a565b945060010161314e565b505050505b60005b8351811015611d185760008482815181106131cf576131cf61418c565b602002602001015190506131fb6002826affffffffffffffffffffff191661338890919063ffffffff16565b1561327d576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061324a908e908e908e908e908e908e90600401614639565b600060405180830381600087803b15801561326457600080fd5b505af1158015613278573d6000803e3d6000fd5b505050505b506001016131b2565b60405160208101601f19603f84840101166040528282526106b985858584612624565b600082826040516020016132be929190614467565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106133395761333961418c565b602090810291909101015260006133717f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613a07565b905061103e6133838260008451613a41565b613acf565b60008160ff16826133998560581c90565b1660ff1614905092915050565b610f1d838383516133b78560200190565b613948565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461347c577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161343a91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526104e9939291600401614692565b6000613497828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836134b0919061443d565b6134ba919061411a565b90508082141580156134dc5750816134d286886146d3565b64ffffffffff1614155b1561352c576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016104e9565b818664ffffffffff16111561357d576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016104e9565b600061358a848984613ae0565b905060006135978b6132ff565b905060005b81518110156136625760008282815181106135b9576135b961418c565b602002602001015190506135e56010826affffffffffffffffffffff191661338890919063ffffffff16565b1561365957606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161362697969594939291906146f8565b600060405180830381600087803b15801561364057600080fd5b505af1158015613654573d6000803e3d6000fd5b505050505b5060010161359c565b5064ffffffffff881660005b8a60ff168160ff1610156136a157613695878260ff166028026038011c64ffffffffff1690565b9091019060010161366e565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516136dc96959493929190614756565b60405180910390a2508284146136fd5760006136f88c8c6132a9565b839055505b600061370a8c8c8c6125a4565b905061371e818a64ffffffffff16896133a6565b5060005b81518110156137e857600082828151811061373f5761373f61418c565b6020026020010151905061376b6020826affffffffffffffffffffff191661338890919063ffffffff16565b156137df57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016137ac97969594939291906146f8565b600060405180830381600087803b1580156137c657600080fd5b505af11580156137da573d6000803e3d6000fd5b505050505b50600101613722565b505050505050505050505050565b60008061239385613bae565b60006138106070601061411a565b9190911b919050565b606060005b601081101561386f576fffffffffffffffffffffffffffffffff198316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561386f5760010161381e565b604080516fffffffffffffffffffffffffffffffff1985166020820152815160309091019091528181528061103e565b60006138ed7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613bca565b80611c685750611c688383613bca565b6060838383604051602001613914939291906147b2565b60405160208183030381529060405290509392505050565b60408051602081018490529081018290526000906060016129da565b82156139c257602083106139725760208304840193506020838161396e5761396e6144a3565b0692505b82156139c25760208390036000600019600885021c1990506008850281811c91508351811c90508119875416828216178755508184116139b3575050611bf1565b50600194909401939182900391015b5b602082106139e45780518455600190930192601f19909101906020016139c3565b8115611bf1576000600019600884021c8554835182191691161785555050505050565b606061103e613a178585856125a4565b6000613a3c85613a278989612591565b9060ff166028026038011c64ffffffffff1690565b613286565b600081831180613a515750835182115b15613a8e578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016104e9939291906147f1565b60208401613a9c848261411a565b90506000613aaa858561443d565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611c688360156000613c93565b600064ffffffffff821115613b24576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016104e9565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613b565780850382019150613b5e565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612ab5565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613c0357613c0361418c565b602002602001018181525050826001600160a01b031660001b81600181518110613c2f57613c2f61418c565b60209081029190910101526000613c877f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006122a9565b9050611b1e8160f81c90565b60606000613ca18560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613cc757613cc76144a3565b04905060405193506020840160208202810160405281855260005b82811015613d02578451871c825293870193602090910190600101613ce2565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613d3b57613d3b613dbf565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613d7657600080fd5b5035919050565b600060208284031215613d8f57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c6857600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613df357634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613e1881613dd5565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613df357600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613eab57613eab613e6c565b604052919050565b600067ffffffffffffffff821115613ecd57613ecd613e6c565b50601f01601f191660200190565b600082601f830112613eec57600080fd5b8135613eff613efa82613eb3565b613e82565b818152846020838601011115613f1457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f4657600080fd5b8335613f5181613e57565b925060208401359150604084013567ffffffffffffffff811115613f7457600080fd5b613f8086828701613edb565b9150509250925092565b60208101613f9783613dd5565b91905290565b600080600060608486031215613fb257600080fd5b8335925060208401359150604084013560038110613fcf57600080fd5b809150509250925092565b60008060408385031215613fed57600080fd5b82359150602083013567ffffffffffffffff81111561400b57600080fd5b61401785828601613edb565b9150509250929050565b60005b8381101561403c578181015183820152602001614024565b50506000910152565b6000815180845261405d816020860160208601614021565b601f01601f19169290920160200192915050565b82815260406020820152600061103e6040830184614045565b600082601f83011261409b57600080fd5b81516140a9613efa82613eb3565b8181528460208386010111156140be57600080fd5b61103e826020830160208701614021565b6000602082840312156140e157600080fd5b815167ffffffffffffffff8111156140f857600080fd5b61103e8482850161408a565b634e487b7160e01b600052601160045260246000fd5b8082018082111561043957610439614104565b6000600019820361414057614140614104565b5060010190565b60006020828403121561415957600080fd5b8151611c6881613e57565b83815261417083613dd5565b826020820152606060408201526000611b1e6060830184614045565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156141ea5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561422357815187529582019590820190600101614207565b509495945050505050565b83815260606020820152600061424760608301856141f2565b9050826040830152949350505050565b60008060006060848603121561426c57600080fd5b835167ffffffffffffffff8082111561428457600080fd5b6142908783880161408a565b94506020860151935060408601519150808211156142ad57600080fd5b50613f808682870161408a565b85815260a0602082015260006142d360a08301876141f2565b60ff8616604084015282810360608401526142ee8186614045565b9150508260808301529695505050505050565b84815260806020820152600061431a60808301866141f2565b60ff949094166040830152506060015292915050565b60006020828403121561434257600080fd5b5051919050565b88815287602082015261435b87613dd5565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006143a760a08301876141f2565b82810360408401526143b98187614045565b905084606084015282810360808401526143d38185614045565b98975050505050505050565b600060ff821660ff81036143f5576143f5614104565b60010192915050565b84815260806020820152600061441760808301866141f2565b60ff8516604084015282810360608401526144328185614045565b979650505050505050565b8181038181111561043957610439614104565b808202811582820484141761043957610439614104565b8281526000602080830184516020860160005b828110156144965781518452928401929084019060010161447a565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006144cc60608301866141f2565b65ffffffffffff851660208401528281036040840152610d978185614045565b84815260806020820152600061450560808301866141f2565b65ffffffffffff8516604084015282810360608401526144328185614045565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614586816003860160208901614021565b8084019050816003820152845191506145a6826004830160208801614021565b0160040195945050505050565b6040815260006145c66040830185614045565b90506001600160a01b03831660208301529392505050565b600082516145f0818460208701614021565b9190910192915050565b60808152600061460d60808301876141f2565b828103602084015261461f8187614045565b905084604084015282810360608401526144328185614045565b86815260c06020820152600061465260c08301886141f2565b82810360408401526146648188614045565b9050856060840152828103608084015261467e8186614045565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611b1e6060830184614045565b64ffffffffff8181168382160190808211156146f1576146f1614104565b5092915050565b87815260e06020820152600061471160e08301896141f2565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147488185614045565b9a9950505050505050505050565b60c08152600061476960c08301896141f2565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526147a58185614045565b9998505050505050505050565b600084516147c4818460208901614021565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006148046060830186614045565b6020830194909452506040015291905056fea264697066735822122086d244e76566d88f08574505a94c682c41e0427c140ef488ae6e6840ef8c383e64736f6c63430008180033","sourceMap":"1812:6136:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:211;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:228;;;345:74;;333:2;318:18;2973:144:211;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:228;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:228;7822:124:211;;;;;;;;;;-1:-1:-1;7822:124:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;3893:837:211:-;;;;;;;;;;-1:-1:-1;3893:837:211;;;;;:::i;:::-;;:::i;:::-;;;4284:25:228;;;4272:2;4257:18;3893:837:211;4138:177:228;5992:492:211;;;;;;;;;;-1:-1:-1;5992:492:211;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:211;;;;;;;;;;-1:-1:-1;1853:130:211;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:211;;;;;:::i;:::-;;:::i;4736:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:211;;;;;:::i;:::-;;:::i;6490:219::-;;;;;;;;;;-1:-1:-1;6490:219:211;;;;;:::i;:::-;;:::i;5287:699::-;;;;;;;;;;-1:-1:-1;5287:699:211;;;;;:::i;:::-;;:::i;7555:125::-;;;;;;;;;;-1:-1:-1;7555:125:211;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7686:130:211:-;;;;;;;;;;-1:-1:-1;7686:130:211;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:211;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7822:124:211:-;7882:16;;:::i;:::-;7917:22;7927:11;7917:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;3893:837:211:-;4003:19;4038:24;4065:28;:26;:28::i;:::-;4038:55;-1:-1:-1;4130:16:211;4111:35;;4103:83;;;;-1:-1:-1;;;4103:83:211;;5935:2:228;4103:83:211;;;5917:21:228;5974:2;5954:18;;;5947:30;6013:34;5993:18;;;5986:62;6084:5;6064:18;;;6057:33;6107:19;;4103:83:211;;;;;;;;;4203:8;:6;:8::i;:::-;-1:-1:-1;;;;;4196:21:211;;4231:37;4247:20;4231:15;:37::i;:::-;4270:65;;-1:-1:-1;;;;;6329:55:228;;4270:65:211;;;6311:74:228;6401:18;;;6394:34;;;6284:18;;4270:65:211;;;-1:-1:-1;;4270:65:211;;;;;;;;;;;;;;;;;;;;4196:149;;4270:65;4196:149;;;;;;;;;4270:65;4196:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4196:149:211;;;;;;;;;;;;:::i;:::-;;4369:35;4387:16;4369:17;:35::i;:::-;4355:49;;4414:41;4434:11;4447:7;4414:19;:41::i;:::-;4465:52;4487:11;4500:16;4465:21;:52::i;:::-;4536:25;4556:4;4536:19;:25::i;:::-;4535:26;4527:58;;;;-1:-1:-1;;;4527:58:211;;8342:2:228;4527:58:211;;;8324:21:228;8381:2;8361:18;;;8354:30;8420:21;8400:18;;;8393:49;8459:18;;4527:58:211;8140:343:228;4527:58:211;4595:31;4615:4;4621;4595:19;:31::i;:::-;4636:37;4655:11;4668:4;4636:18;:37::i;:::-;4683:40;4696:16;4714:8;4683:12;:40::i;:::-;4028:702;3893:837;;;;;:::o;5992:492::-;6067:20;6117:14;6128:2;6117:10;:14::i;:::-;6103:10;:28;6099:379;;-1:-1:-1;6162:2:211;5992:492;;;:::o;6099:379::-;6200:9;6195:273;6215:2;6211:1;:6;6195:273;;;6259:10;6242:13;6253:1;6242:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6293:10:211;6273:17;6284:5;:1;6288;6284:5;:::i;:::-;6273:10;:17::i;:::-;:30;6242:61;6238:155;;;6342:5;:1;6346;6342:5;:::i;:::-;6327:20;;6369:5;;6238:155;6432:3;;;;:::i;:::-;;;;6195:273;;;;5992:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:211;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:211;;3385:7;3359:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3359:34:211;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:211;;;;;;;;-1:-1:-1;;3359:34:211;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:211;;3462:7;3436:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3436:34:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:211;:7;-1:-1:-1;;;;;3506:23:211;;3499:30;;;;;3123:413;;;:::o;4736:545::-;4851:33;4872:11;4851:20;:33::i;:::-;4850:34;4842:90;;;;-1:-1:-1;;;4842:90:211;;9465:2:228;4842:90:211;;;9447:21:228;9504:2;9484:18;;;9477:30;9543:34;9523:18;;;9516:62;9614:13;9594:18;;;9587:41;9645:19;;4842:90:211;9263:407:228;4842:90:211;4950:21;4959:11;4950:8;:21::i;:::-;4942:53;;;;-1:-1:-1;;;4942:53:211;;9877:2:228;4942:53:211;;;9859:21:228;9916:2;9896:18;;;9889:30;9955:21;9935:18;;;9928:49;9994:18;;4942:53:211;9675:343:228;4942:53:211;5005:26;5073:34;5088:11;5101:5;5073:14;:34::i;:::-;5164:110;5217:16;5235:11;5259;5248:23;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5248:23:211;;;;-1:-1:-1;;5248:23:211;;;;;;;;;;5182:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5182:91:211;;;;;;;;;;;;;;;;;;;;5164:17;:110::i;:::-;;4832:449;4736:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:211;;2614:16;2588:43;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;2588:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:211;:55;;;;;;-1:-1:-1;;2460:266:211:o;6490:219::-;6584:21;6593:11;6584:8;:21::i;:::-;6576:60;;;;-1:-1:-1;;;6576:60:211;;10654:2:228;6576:60:211;;;10636:21:228;10693:2;10673:18;;;10666:30;10732:28;10712:18;;;10705:56;10778:18;;6576:60:211;10452:350:228;6576:60:211;6646:56;2830:37;;;6693:8;6646:12;:56::i;:::-;6490:219;;:::o;5287:699::-;5352:21;5361:11;5352:8;:21::i;:::-;5344:52;;;;-1:-1:-1;;;5344:52:211;;11009:2:228;5344:52:211;;;10991:21:228;11048:2;11028:18;;;11021:30;11087:20;11067:18;;;11060:48;11125:18;;5344:52:211;10807:342:228;5344:52:211;5415:33;5436:11;5415:20;:33::i;:::-;5414:34;5406:72;;;;-1:-1:-1;;;5406:72:211;;11356:2:228;5406:72:211;;;11338:21:228;11395:2;11375:18;;;11368:30;11434:27;11414:18;;;11407:55;11479:18;;5406:72:211;11154:349:228;5406:72:211;5488:26;5517:22;5527:11;5517:9;:22::i;:::-;5567:1;5549:15;;;:19;5607:23;;;;5578:19;;;:53;5488:51;-1:-1:-1;5641:33:211;5651:11;5488:51;5641:9;:33::i;:::-;5691:8;:6;:8::i;:::-;5684:51;;;;;;;;11708:25:228;;;5727:7:211;11749:18:228;;;11742:34;-1:-1:-1;;;;;5684:29:211;;;;;;;11681:18:228;;5684:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5783:8;:6;:8::i;:::-;-1:-1:-1;;;;;5776:38:211;;5815:11;5776:51;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5776:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5940:39;5961:11;5974:4;5940:20;:39::i;7555:125::-;7615:7;7641:32;7661:11;7641:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7686:130:211:-;7751:7;7777:32;7797:11;7777:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;6889:347:211:-;6945:7;6964:25;6992:42;:40;:42::i;:::-;6964:70;;7044:24;7071:50;7099:17;7119:1;7071:19;:50::i;:::-;:54;;7124:1;7071:54;:::i;:::-;7044:81;;7135:61;7155:17;7174:1;7178:16;7135:19;:61::i;1157:186:219:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12125:2:228;12121:15;;;;-1:-1:-1;;12117:88:228;12105:101;;12231:2;12222:12;;11976:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12583:14:228;12576:22;12571:3;12567:32;12555:45;;12625:1;12616:11;;12432:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;6715:168:211;6797:79;6818:38;6835:20;6818:16;:38::i;:::-;6858:7;6867:8;6797:20;:79::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:211:-;2329:30;2404:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7382:167:211:-;7444:4;7483:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7483:59;;;4284:25:228;-1:-1:-1;;;;;7483:25:211;;;;;;;4257:18:228;;7483:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7467:75:211;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7467:75:211;;;7382:167;-1:-1:-1;;7382:167:211:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;12970:3:228;12966:16;;;;12984:66;12962:89;12950:102;;13077:1;13068:11;;12825:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13646:98:228;13619:18;;3713:52:107;13502:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:195:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:195;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:195;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12583:14:228;12576:22;12571:3;12567:32;12555:45;;12625:1;12616:11;;12432:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:195:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12374:19:228;;12418:2;12409:12;;12245:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25930:12:228;25969:15;;;45340:92:45;;;25951:34:228;26021:15;;;26001:18;;;25994:43;26073:15;;26053:18;;;26046:43;25893:18;;45340:92:45;25724:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26273:25:228;;;26346:12;26334:25;;26314:18;;;26307:53;26246:18;;45581:74:45;26100:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28211:79:228;;2092:30:124;;;28199:92:228;2092:30:124;;28307:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29054:19:228;;;29089:12;;;29082:28;;;51337:7:45;;29126:12:228;;51494:30:45;28865:279:228;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:228;;;4257:18;;7664:67:24;4138:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:228:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:228;;14:180;-1:-1:-1;14:180:228:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:228;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:228;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:228;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:228;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:228;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:228:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:228;3037:15;-1:-1:-1;;3033:88:228;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:228:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:228;3925:18;;3912:32;;-1:-1:-1;3995:2:228;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:390::-;5416:6;5424;5477:2;5465:9;5456:7;5452:23;5448:32;5445:52;;;5493:1;5490;5483:12;5445:52;5529:9;5516:23;5506:33;;5590:2;5579:9;5575:18;5562:32;5617:18;5609:6;5606:30;5603:50;;;5649:1;5646;5639:12;5603:50;5672;5714:7;5705:6;5694:9;5690:22;5672:50;:::i;:::-;5662:60;;;5338:390;;;;;:::o;6439:250::-;6524:1;6534:113;6548:6;6545:1;6542:13;6534:113;;;6624:11;;;6618:18;6605:11;;;6598:39;6570:2;6563:10;6534:113;;;-1:-1:-1;;6681:1:228;6663:16;;6656:27;6439:250::o;6694:329::-;6735:3;6773:5;6767:12;6800:6;6795:3;6788:19;6816:76;6885:6;6878:4;6873:3;6869:14;6862:4;6855:5;6851:16;6816:76;:::i;:::-;6937:2;6925:15;-1:-1:-1;;6921:88:228;6912:98;;;;7012:4;6908:109;;6694:329;-1:-1:-1;;6694:329:228:o;7028:320::-;7235:6;7224:9;7217:25;7278:2;7273;7262:9;7258:18;7251:30;7198:4;7298:44;7338:2;7327:9;7323:18;7315:6;7298:44;:::i;7353:442::-;7406:5;7459:3;7452:4;7444:6;7440:17;7436:27;7426:55;;7477:1;7474;7467:12;7426:55;7506:6;7500:13;7537:49;7553:32;7582:2;7553:32;:::i;7537:49::-;7611:2;7602:7;7595:19;7657:3;7650:4;7645:2;7637:6;7633:15;7629:26;7626:35;7623:55;;;7674:1;7671;7664:12;7623:55;7687:77;7761:2;7754:4;7745:7;7741:18;7734:4;7726:6;7722:17;7687:77;:::i;7800:335::-;7879:6;7932:2;7920:9;7911:7;7907:23;7903:32;7900:52;;;7948:1;7945;7938:12;7900:52;7981:9;7975:16;8014:18;8006:6;8003:30;8000:50;;;8046:1;8043;8036:12;8000:50;8069:60;8121:7;8112:6;8101:9;8097:22;8069:60;:::i;8488:184::-;-1:-1:-1;;;8537:1:228;8530:88;8637:4;8634:1;8627:15;8661:4;8658:1;8651:15;8677:125;8742:9;;;8763:10;;;8760:36;;;8776:18;;:::i;8807:195::-;8846:3;-1:-1:-1;;8870:5:228;8867:77;8864:103;;8947:18;;:::i;:::-;-1:-1:-1;8994:1:228;8983:13;;8807:195::o;9007:251::-;9077:6;9130:2;9118:9;9109:7;9105:23;9101:32;9098:52;;;9146:1;9143;9136:12;9098:52;9178:9;9172:16;9197:31;9222:5;9197:31;:::i;10023:424::-;10245:6;10234:9;10227:25;10261:37;10291:6;10261:37;:::i;:::-;10334:6;10329:2;10318:9;10314:18;10307:34;10377:2;10372;10361:9;10357:18;10350:30;10208:4;10397:44;10437:2;10426:9;10422:18;10414:6;10397:44;:::i;11787:184::-;-1:-1:-1;;;11836:1:228;11829:88;11936:4;11933:1;11926:15;11960:4;11957:1;11950:15;13090:407;13173:5;13213;13207:12;13255:4;13248:5;13244:16;13238:23;13280:66;13372:2;13368;13364:11;13355:20;;13398:1;13390:6;13387:13;13384:107;;;13478:2;13472;13462:6;13459:1;13455:14;13452:1;13448:22;13444:31;13440:2;13436:40;13432:49;13423:58;;13384:107;;;;13090:407;;;:::o;13755:439::-;13808:3;13846:5;13840:12;13873:6;13868:3;13861:19;13899:4;13928;13923:3;13919:14;13912:21;;13967:4;13960:5;13956:16;13990:1;14000:169;14014:6;14011:1;14008:13;14000:169;;;14075:13;;14063:26;;14109:12;;;;14144:15;;;;14036:1;14029:9;14000:169;;;-1:-1:-1;14185:3:228;;13755:439;-1:-1:-1;;;;;13755:439:228:o;14199:468::-;14499:6;14488:9;14481:25;14542:2;14537;14526:9;14522:18;14515:30;14462:4;14562:56;14614:2;14603:9;14599:18;14591:6;14562:56;:::i;:::-;14554:64;;14654:6;14649:2;14638:9;14634:18;14627:34;14199:468;;;;;;:::o;14672:655::-;14814:6;14822;14830;14883:2;14871:9;14862:7;14858:23;14854:32;14851:52;;;14899:1;14896;14889:12;14851:52;14932:9;14926:16;14961:18;15002:2;14994:6;14991:14;14988:34;;;15018:1;15015;15008:12;14988:34;15041:60;15093:7;15084:6;15073:9;15069:22;15041:60;:::i;:::-;15031:70;;15141:2;15130:9;15126:18;15120:25;15110:35;;15191:2;15180:9;15176:18;15170:25;15154:41;;15220:2;15210:8;15207:16;15204:36;;;15236:1;15233;15226:12;15204:36;;15259:62;15313:7;15302:8;15291:9;15287:24;15259:62;:::i;15332:709::-;15702:6;15691:9;15684:25;15745:3;15740:2;15729:9;15725:18;15718:31;15665:4;15772:57;15824:3;15813:9;15809:19;15801:6;15772:57;:::i;:::-;15877:4;15869:6;15865:17;15860:2;15849:9;15845:18;15838:45;15931:9;15923:6;15919:22;15914:2;15903:9;15899:18;15892:50;15959:32;15984:6;15976;15959:32;:::i;:::-;15951:40;;;16028:6;16022:3;16011:9;16007:19;16000:35;15332:709;;;;;;;;:::o;16046:548::-;16370:6;16359:9;16352:25;16413:3;16408:2;16397:9;16393:18;16386:31;16333:4;16434:57;16486:3;16475:9;16471:19;16463:6;16434:57;:::i;:::-;16539:4;16527:17;;;;16522:2;16507:18;;16500:45;-1:-1:-1;16576:2:228;16561:18;16554:34;16426:65;16046:548;-1:-1:-1;;16046:548:228:o;16599:184::-;16669:6;16722:2;16710:9;16701:7;16697:23;16693:32;16690:52;;;16738:1;16735;16728:12;16690:52;-1:-1:-1;16761:16:228;;16599:184;-1:-1:-1;16599:184:228:o;16788:707::-;17135:6;17130:3;17123:19;17172:6;17167:2;17162:3;17158:12;17151:28;17188:37;17218:6;17188:37;:::i;:::-;17259:3;17255:16;;;;17250:2;17241:12;;17234:38;17297:2;17288:12;;17281:28;;;;17334:2;17325:12;;17318:28;;;;17371:3;17362:13;;17355:29;17409:3;17400:13;;17393:29;17447:3;17438:13;;17431:29;17485:3;17476:13;;16788:707;-1:-1:-1;;16788:707:228:o;17500:794::-;17895:6;17884:9;17877:25;17938:3;17933:2;17922:9;17918:18;17911:31;17858:4;17965:57;18017:3;18006:9;18002:19;17994:6;17965:57;:::i;:::-;18070:9;18062:6;18058:22;18053:2;18042:9;18038:18;18031:50;18104:32;18129:6;18121;18104:32;:::i;:::-;18090:46;;18172:6;18167:2;18156:9;18152:18;18145:34;18228:9;18220:6;18216:22;18210:3;18199:9;18195:19;18188:51;18256:32;18281:6;18273;18256:32;:::i;:::-;18248:40;17500:794;-1:-1:-1;;;;;;;;17500:794:228:o;18299:175::-;18336:3;18380:4;18373:5;18369:16;18409:4;18400:7;18397:17;18394:43;;18417:18;;:::i;:::-;18466:1;18453:15;;18299:175;-1:-1:-1;;18299:175:228:o;18479:604::-;18788:6;18777:9;18770:25;18831:3;18826:2;18815:9;18811:18;18804:31;18751:4;18858:57;18910:3;18899:9;18895:19;18887:6;18858:57;:::i;:::-;18963:4;18955:6;18951:17;18946:2;18935:9;18931:18;18924:45;19017:9;19009:6;19005:22;19000:2;18989:9;18985:18;18978:50;19045:32;19070:6;19062;19045:32;:::i;:::-;19037:40;18479:604;-1:-1:-1;;;;;;;18479:604:228:o;19415:128::-;19482:9;;;19503:11;;;19500:37;;;19517:18;;:::i;19548:168::-;19621:9;;;19652;;19669:15;;;19663:22;;19649:37;19639:71;;19690:18;;:::i;19721:640::-;19972:6;19967:3;19960:19;19942:3;19998:2;20031;20026:3;20022:12;20063:6;20057:13;20128:2;20120:6;20116:15;20149:1;20159:175;20173:6;20170:1;20167:13;20159:175;;;20236:13;;20222:28;;20272:14;;;;20309:15;;;;20195:1;20188:9;20159:175;;;-1:-1:-1;20350:5:228;;19721:640;-1:-1:-1;;;;;;;19721:640:228:o;20366:184::-;-1:-1:-1;;;20415:1:228;20408:88;20515:4;20512:1;20505:15;20539:4;20536:1;20529:15;20555:511;20806:2;20795:9;20788:21;20769:4;20832:56;20884:2;20873:9;20869:18;20861:6;20832:56;:::i;:::-;20936:14;20928:6;20924:27;20919:2;20908:9;20904:18;20897:55;21000:9;20992:6;20988:22;20983:2;20972:9;20968:18;20961:50;21028:32;21053:6;21045;21028:32;:::i;21071:616::-;21382:6;21371:9;21364:25;21425:3;21420:2;21409:9;21405:18;21398:31;21345:4;21452:57;21504:3;21493:9;21489:19;21481:6;21452:57;:::i;:::-;21557:14;21549:6;21545:27;21540:2;21529:9;21525:18;21518:55;21621:9;21613:6;21609:22;21604:2;21593:9;21589:18;21582:50;21649:32;21674:6;21666;21649:32;:::i;21692:925::-;22141:66;22133:6;22129:79;22124:3;22117:92;22099:3;22228;22260:2;22256:1;22251:3;22247:11;22240:23;22292:6;22286:13;22308:74;22375:6;22371:1;22366:3;22362:11;22355:4;22347:6;22343:17;22308:74;:::i;:::-;22410:6;22405:3;22401:16;22391:26;;22445:2;22441:1;22437:2;22433:10;22426:22;22479:6;22473:13;22457:29;;22495:75;22561:8;22557:1;22553:2;22549:10;22542:4;22534:6;22530:17;22495:75;:::i;:::-;22590:17;22609:1;22586:25;;21692:925;-1:-1:-1;;;;;21692:925:228:o;22622:339::-;22799:2;22788:9;22781:21;22762:4;22819:44;22859:2;22848:9;22844:18;22836:6;22819:44;:::i;:::-;22811:52;;-1:-1:-1;;;;;22903:6:228;22899:55;22894:2;22883:9;22879:18;22872:83;22622:339;;;;;:::o;22966:287::-;23095:3;23133:6;23127:13;23149:66;23208:6;23203:3;23196:4;23188:6;23184:17;23149:66;:::i;:::-;23231:16;;;;;22966:287;-1:-1:-1;;22966:287:228:o;23258:690::-;23593:3;23582:9;23575:22;23556:4;23620:57;23672:3;23661:9;23657:19;23649:6;23620:57;:::i;:::-;23725:9;23717:6;23713:22;23708:2;23697:9;23693:18;23686:50;23759:32;23784:6;23776;23759:32;:::i;:::-;23745:46;;23827:6;23822:2;23811:9;23807:18;23800:34;23882:9;23874:6;23870:22;23865:2;23854:9;23850:18;23843:50;23910:32;23935:6;23927;23910:32;:::i;23953:899::-;24409:6;24398:9;24391:25;24452:3;24447:2;24436:9;24432:18;24425:31;24372:4;24479:57;24531:3;24520:9;24516:19;24508:6;24479:57;:::i;:::-;24584:9;24576:6;24572:22;24567:2;24556:9;24552:18;24545:50;24618:32;24643:6;24635;24618:32;:::i;:::-;24604:46;;24686:6;24681:2;24670:9;24666:18;24659:34;24742:9;24734:6;24730:22;24724:3;24713:9;24709:19;24702:51;24770:32;24795:6;24787;24770:32;:::i;:::-;24762:40;;;24839:6;24833:3;24822:9;24818:19;24811:35;23953:899;;;;;;;;;:::o;25076:464::-;25323:66;25315:6;25311:79;25300:9;25293:98;25427:6;25422:2;25411:9;25407:18;25400:34;25470:2;25465;25454:9;25450:18;25443:30;25274:4;25490:44;25530:2;25519:9;25515:18;25507:6;25490:44;:::i;25545:174::-;25612:12;25644:10;;;25656;;;25640:27;;25679:11;;;25676:37;;;25693:18;;:::i;:::-;25676:37;25545:174;;;;:::o;26371:901::-;26796:6;26785:9;26778:25;26839:3;26834:2;26823:9;26819:18;26812:31;26759:4;26866:57;26918:3;26907:9;26903:19;26895:6;26866:57;:::i;:::-;26971:4;26959:17;;26954:2;26939:18;;26932:45;26996:12;27044:15;;;27039:2;27024:18;;27017:43;27097:15;;27091:3;27076:19;;27069:44;27144:3;27129:19;;27122:35;;;27194:22;;;27188:3;27173:19;;27166:51;27234:32;27198:6;27251;27234:32;:::i;:::-;27226:40;26371:901;-1:-1:-1;;;;;;;;;;26371:901:228:o;27277:788::-;27642:3;27631:9;27624:22;27605:4;27669:57;27721:3;27710:9;27706:19;27698:6;27669:57;:::i;:::-;27774:4;27766:6;27762:17;27757:2;27746:9;27742:18;27735:45;27828:14;27820:6;27816:27;27811:2;27800:9;27796:18;27789:55;27892:12;27884:6;27880:25;27875:2;27864:9;27860:18;27853:53;27943:6;27937:3;27926:9;27922:19;27915:35;27999:9;27991:6;27987:22;27981:3;27970:9;27966:19;27959:51;28027:32;28052:6;28044;28027:32;:::i;:::-;28019:40;27277:788;-1:-1:-1;;;;;;;;;27277:788:228:o;28330:530::-;28515:3;28553:6;28547:13;28569:66;28628:6;28623:3;28616:4;28608:6;28604:17;28569:66;:::i;:::-;28704:2;28700:15;;;;-1:-1:-1;;28696:88:228;28657:16;;;;28682:103;;;28812:2;28801:14;;28794:30;;;;28851:2;28840:14;;28330:530;-1:-1:-1;;28330:530:228:o;29149:359::-;29352:2;29341:9;29334:21;29315:4;29372:44;29412:2;29401:9;29397:18;29389:6;29372:44;:::i;:::-;29447:2;29432:18;;29425:34;;;;-1:-1:-1;29490:2:228;29475:18;29468:34;29364:52;29149:359;-1:-1:-1;29149:359:228:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x7834b231d52ef04eb87b4761370bcf88eb0c52631c0ff6ee85206c0db3224366\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51b55193bdcbf73603b110402cd21c6a0aa6b6f6b5a726ff8f971613d637a7ec\",\"dweb:/ipfs/QmS9qHiN8ncErnZGYj7e9HWDhpFBEhTCDpwtkdFghriZTi\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x7834b231d52ef04eb87b4761370bcf88eb0c52631c0ff6ee85206c0db3224366","urls":["bzz-raw://51b55193bdcbf73603b110402cd21c6a0aa6b6f6b5a726ff8f971613d637a7ec","dweb:/ipfs/QmS9qHiN8ncErnZGYj7e9HWDhpFBEhTCDpwtkdFghriZTi"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":211}
\ No newline at end of file
+{"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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061497d806100206000396000f3fe6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea2646970667358221220051bc834708e24c962533671ce7dfc8684d60a0ba120aa18f2c998d413db9df964736f6c63430008180033","sourceMap":"1812:6250:212:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea2646970667358221220051bc834708e24c962533671ce7dfc8684d60a0ba120aa18f2c998d413db9df964736f6c63430008180033","sourceMap":"1812:6250:212:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:212;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:230;;;345:74;;333:2;318:18;2973:144:212;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:230;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:230;7936:124:212;;;;;;;;;;-1:-1:-1;7936:124:212;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;4111:837:212:-;;;;;;;;;;-1:-1:-1;4111:837:212;;;;;:::i;:::-;;:::i;:::-;;;4284:25:230;;;4272:2;4257:18;4111:837:212;4138:177:230;6106:492:212;;;;;;;;;;-1:-1:-1;6106:492:212;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:212;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:212;;;;;;;;;;-1:-1:-1;1853:130:212;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:212;;;;;:::i;:::-;;:::i;4954:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:212;;;;;:::i;:::-;;:::i;3542:212::-;;;;;;;;;;-1:-1:-1;3542:212:212;;;;;:::i;:::-;;:::i;6604:219::-;;;;;;;;;;-1:-1:-1;6604:219:212;;;;;:::i;:::-;;:::i;5505:595::-;;;;;;;;;;-1:-1:-1;5505:595:212;;;;;:::i;:::-;;:::i;7669:125::-;;;;;;;;;;-1:-1:-1;7669:125:212;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7800:130:212:-;;;;;;;;;;-1:-1:-1;7800:130:212;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:212;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7936:124:212:-;7996:16;;:::i;:::-;8031:22;8041:11;8031:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;4111:837:212:-;4221:19;4256:24;4283:28;:26;:28::i;:::-;4256:55;-1:-1:-1;4348:16:212;4329:35;;4321:83;;;;-1:-1:-1;;;4321:83:212;;6255:2:230;4321:83:212;;;6237:21:230;6294:2;6274:18;;;6267:30;6333:34;6313:18;;;6306:62;6404:5;6384:18;;;6377:33;6427:19;;4321:83:212;;;;;;;;;4421:8;:6;:8::i;:::-;-1:-1:-1;;;;;4414:21:212;;4449:37;4465:20;4449:15;:37::i;:::-;4488:65;;-1:-1:-1;;;;;6649:55:230;;4488:65:212;;;6631:74:230;6721:18;;;6714:34;;;6604:18;;4488:65:212;;;-1:-1:-1;;4488:65:212;;;;;;;;;;;;;;;;;;;;4414:149;;4488:65;4414:149;;;;;;;;;4488:65;4414:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4414:149:212;;;;;;;;;;;;:::i;:::-;;4587:35;4605:16;4587:17;:35::i;:::-;4573:49;;4632:41;4652:11;4665:7;4632:19;:41::i;:::-;4683:52;4705:11;4718:16;4683:21;:52::i;:::-;4754:25;4774:4;4754:19;:25::i;:::-;4753:26;4745:58;;;;-1:-1:-1;;;4745:58:212;;8662:2:230;4745:58:212;;;8644:21:230;8701:2;8681:18;;;8674:30;8740:21;8720:18;;;8713:49;8779:18;;4745:58:212;8460:343:230;4745:58:212;4813:31;4833:4;4839;4813:19;:31::i;:::-;4854:37;4873:11;4886:4;4854:18;:37::i;:::-;4901:40;4914:16;4932:8;4901:12;:40::i;:::-;4246:702;4111:837;;;;;:::o;6106:492::-;6181:20;6231:14;6242:2;6231:10;:14::i;:::-;6217:10;:28;6213:379;;-1:-1:-1;6276:2:212;6106:492;;;:::o;6213:379::-;6314:9;6309:273;6329:2;6325:1;:6;6309:273;;;6373:10;6356:13;6367:1;6356:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6407:10:212;6387:17;6398:5;:1;6402;6398:5;:::i;:::-;6387:10;:17::i;:::-;:30;6356:61;6352:155;;;6456:5;:1;6460;6456:5;:::i;:::-;6441:20;;6483:5;;6352:155;6546:3;;;;:::i;:::-;;;;6309:273;;;;6106:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:212;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:212;;3385:7;3359:34;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;3359:34:212;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:212;;;;;;;;-1:-1:-1;;3359:34:212;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:212;;3462:7;3436:34;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;3436:34:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:212;:7;-1:-1:-1;;;;;3506:23:212;;3499:30;;;;;3123:413;;;:::o;4954:545::-;5069:33;5090:11;5069:20;:33::i;:::-;5068:34;5060:90;;;;-1:-1:-1;;;5060:90:212;;9785:2:230;5060:90:212;;;9767:21:230;9824:2;9804:18;;;9797:30;9863:34;9843:18;;;9836:62;9934:13;9914:18;;;9907:41;9965:19;;5060:90:212;9583:407:230;5060:90:212;5168:21;5177:11;5168:8;:21::i;:::-;5160:53;;;;-1:-1:-1;;;5160:53:212;;10197:2:230;5160:53:212;;;10179:21:230;10236:2;10216:18;;;10209:30;10275:21;10255:18;;;10248:49;10314:18;;5160:53:212;9995:343:230;5160:53:212;5223:26;5291:34;5306:11;5319:5;5291:14;:34::i;:::-;5382:110;5435:16;5453:11;5477;5466:23;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;5466:23:212;;;;-1:-1:-1;;5466:23:212;;;;;;;;;;5400:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5400:91:212;;;;;;;;;;;;;;;;;;;;5382:17;:110::i;:::-;;5050:449;4954:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:212;;2614:16;2588:43;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;2588:43:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:212;:55;;;;;;-1:-1:-1;;2460:266:212:o;3542:212::-;3621:4;3644:31;3663:11;3644:18;:31::i;:::-;:103;;;;;3742:5;-1:-1:-1;;;;;3679:68:212;:17;:15;:17::i;:::-;:59;;;;;2830:37;;;3679:59;;;4284:25:230;-1:-1:-1;;;;;3679:25:212;;;;;;;4257:18:230;;3679:59:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3679:68:212;;3644:103;3637:110;3542:212;-1:-1:-1;;;3542:212:212:o;6604:219::-;6698:21;6707:11;6698:8;:21::i;:::-;6690:60;;;;-1:-1:-1;;;6690:60:212;;10974:2:230;6690:60:212;;;10956:21:230;11013:2;10993:18;;;10986:30;11052:28;11032:18;;;11025:56;11098:18;;6690:60:212;10772:350:230;6690:60:212;6760:56;2830:37;;;6807:8;6760:12;:56::i;:::-;6604:219;;:::o;5505:595::-;5570:21;5579:11;5570:8;:21::i;:::-;5562:52;;;;-1:-1:-1;;;5562:52:212;;11329:2:230;5562:52:212;;;11311:21:230;11368:2;11348:18;;;11341:30;11407:20;11387:18;;;11380:48;11445:18;;5562:52:212;11127:342:230;5562:52:212;5633:33;5654:11;5633:20;:33::i;:::-;5632:34;5624:72;;;;-1:-1:-1;;;5624:72:212;;11676:2:230;5624:72:212;;;11658:21:230;11715:2;11695:18;;;11688:30;11754:27;11734:18;;;11727:55;11799:18;;5624:72:212;11474:349:230;5624:72:212;5706:26;5735:22;5745:11;5735:9;:22::i;:::-;5785:1;5767:15;;;:19;5825:23;;;;5796:19;;;:53;5706:51;-1:-1:-1;5859:33:212;5869:11;5706:51;5859:9;:33::i;:::-;5909:8;:6;:8::i;:::-;5902:51;;;;;;;;12028:25:230;;;5945:7:212;12069:18:230;;;12062:34;-1:-1:-1;;;;;5902:29:212;;;;;;;12001:18:230;;5902:51:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:8;:6;:8::i;:::-;-1:-1:-1;;;;;5993:38:212;;6032:11;5993:51;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;5993:51:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6054:39;6075:11;6088:4;6054:20;:39::i;7669:125::-;7729:7;7755:32;7775:11;7755:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7800:130:212:-;7865:7;7891:32;7911:11;7891:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;7003:347:212:-;7059:7;7078:25;7106:42;:40;:42::i;:::-;7078:70;;7158:24;7185:50;7213:17;7233:1;7185:19;:50::i;:::-;:54;;7238:1;7185:54;:::i;:::-;7158:81;;7249:61;7269:17;7288:1;7292:16;7249:19;:61::i;1157:186:221:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12445:2:230;12441:15;;;;-1:-1:-1;;12437:88:230;12425:101;;12551:2;12542:12;;12296:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12903:14:230;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;6829:168:212;6911:79;6932:38;6949:20;6932:16;:38::i;:::-;6972:7;6981:8;6911:20;:79::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:212:-;2329:30;2404:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7496:167:212:-;7558:4;7597:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7597:59;;;4284:25:230;-1:-1:-1;;;;;7597:25:212;;;;;;;4257:18:230;;7597:59:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7581:75:212;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7581:75:212;;;7496:167;-1:-1:-1;;7496:167:212:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;13290:3:230;13286:16;;;;13304:66;13282:89;13270:102;;13397:1;13388:11;;13145:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13966:98:230;13939:18;;3713:52:107;13822:248:230;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:195:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:195;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:195;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12903:14:230;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:195:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26250:12:230;26289:15;;;45340:92:45;;;26271:34:230;26341:15;;;26321:18;;;26314:43;26393:15;;26373:18;;;26366:43;26213:18;;45340:92:45;26044:371:230;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26593:25:230;;;26666:12;26654:25;;26634:18;;;26627:53;26566:18;;45581:74:45;26420:266:230;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28531:79:230;;2092:30:124;;;28519:92:230;2092:30:124;;28627:12:230;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29374:19:230;;;29409:12;;;29402:28;;;51337:7:45;;29446:12:230;;51494:30:45;29185:279:230;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:230;;;4257:18;;7664:67:24;4138:177:230;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:230:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:230;;14:180;-1:-1:-1;14:180:230:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:230;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:230;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:230;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:230;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:230;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:230:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:230;3037:15;-1:-1:-1;;3033:88:230;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:230:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:230;3925:18;;3912:32;;-1:-1:-1;3995:2:230;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:315::-;5406:6;5414;5467:2;5455:9;5446:7;5442:23;5438:32;5435:52;;;5483:1;5480;5473:12;5435:52;5519:9;5506:23;5496:33;;5579:2;5568:9;5564:18;5551:32;5592:31;5617:5;5592:31;:::i;:::-;5642:5;5632:15;;;5338:315;;;;;:::o;5658:390::-;5736:6;5744;5797:2;5785:9;5776:7;5772:23;5768:32;5765:52;;;5813:1;5810;5803:12;5765:52;5849:9;5836:23;5826:33;;5910:2;5899:9;5895:18;5882:32;5937:18;5929:6;5926:30;5923:50;;;5969:1;5966;5959:12;5923:50;5992;6034:7;6025:6;6014:9;6010:22;5992:50;:::i;:::-;5982:60;;;5658:390;;;;;:::o;6759:250::-;6844:1;6854:113;6868:6;6865:1;6862:13;6854:113;;;6944:11;;;6938:18;6925:11;;;6918:39;6890:2;6883:10;6854:113;;;-1:-1:-1;;7001:1:230;6983:16;;6976:27;6759:250::o;7014:329::-;7055:3;7093:5;7087:12;7120:6;7115:3;7108:19;7136:76;7205:6;7198:4;7193:3;7189:14;7182:4;7175:5;7171:16;7136:76;:::i;:::-;7257:2;7245:15;-1:-1:-1;;7241:88:230;7232:98;;;;7332:4;7228:109;;7014:329;-1:-1:-1;;7014:329:230:o;7348:320::-;7555:6;7544:9;7537:25;7598:2;7593;7582:9;7578:18;7571:30;7518:4;7618:44;7658:2;7647:9;7643:18;7635:6;7618:44;:::i;7673:442::-;7726:5;7779:3;7772:4;7764:6;7760:17;7756:27;7746:55;;7797:1;7794;7787:12;7746:55;7826:6;7820:13;7857:49;7873:32;7902:2;7873:32;:::i;7857:49::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8007:77;8081:2;8074:4;8065:7;8061:18;8054:4;8046:6;8042:17;8007:77;:::i;8120:335::-;8199:6;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8301:9;8295:16;8334:18;8326:6;8323:30;8320:50;;;8366:1;8363;8356:12;8320:50;8389:60;8441:7;8432:6;8421:9;8417:22;8389:60;:::i;8808:184::-;-1:-1:-1;;;8857:1:230;8850:88;8957:4;8954:1;8947:15;8981:4;8978:1;8971:15;8997:125;9062:9;;;9083:10;;;9080:36;;;9096:18;;:::i;9127:195::-;9166:3;-1:-1:-1;;9190:5:230;9187:77;9184:103;;9267:18;;:::i;:::-;-1:-1:-1;9314:1:230;9303:13;;9127:195::o;9327:251::-;9397:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:52;;;9466:1;9463;9456:12;9418:52;9498:9;9492:16;9517:31;9542:5;9517:31;:::i;10343:424::-;10565:6;10554:9;10547:25;10581:37;10611:6;10581:37;:::i;:::-;10654:6;10649:2;10638:9;10634:18;10627:34;10697:2;10692;10681:9;10677:18;10670:30;10528:4;10717:44;10757:2;10746:9;10742:18;10734:6;10717:44;:::i;12107:184::-;-1:-1:-1;;;12156:1:230;12149:88;12256:4;12253:1;12246:15;12280:4;12277:1;12270:15;13410:407;13493:5;13533;13527:12;13575:4;13568:5;13564:16;13558:23;13600:66;13692:2;13688;13684:11;13675:20;;13718:1;13710:6;13707:13;13704:107;;;13798:2;13792;13782:6;13779:1;13775:14;13772:1;13768:22;13764:31;13760:2;13756:40;13752:49;13743:58;;13704:107;;;;13410:407;;;:::o;14075:439::-;14128:3;14166:5;14160:12;14193:6;14188:3;14181:19;14219:4;14248;14243:3;14239:14;14232:21;;14287:4;14280:5;14276:16;14310:1;14320:169;14334:6;14331:1;14328:13;14320:169;;;14395:13;;14383:26;;14429:12;;;;14464:15;;;;14356:1;14349:9;14320:169;;;-1:-1:-1;14505:3:230;;14075:439;-1:-1:-1;;;;;14075:439:230:o;14519:468::-;14819:6;14808:9;14801:25;14862:2;14857;14846:9;14842:18;14835:30;14782:4;14882:56;14934:2;14923:9;14919:18;14911:6;14882:56;:::i;:::-;14874:64;;14974:6;14969:2;14958:9;14954:18;14947:34;14519:468;;;;;;:::o;14992:655::-;15134:6;15142;15150;15203:2;15191:9;15182:7;15178:23;15174:32;15171:52;;;15219:1;15216;15209:12;15171:52;15252:9;15246:16;15281:18;15322:2;15314:6;15311:14;15308:34;;;15338:1;15335;15328:12;15308:34;15361:60;15413:7;15404:6;15393:9;15389:22;15361:60;:::i;:::-;15351:70;;15461:2;15450:9;15446:18;15440:25;15430:35;;15511:2;15500:9;15496:18;15490:25;15474:41;;15540:2;15530:8;15527:16;15524:36;;;15556:1;15553;15546:12;15524:36;;15579:62;15633:7;15622:8;15611:9;15607:24;15579:62;:::i;15652:709::-;16022:6;16011:9;16004:25;16065:3;16060:2;16049:9;16045:18;16038:31;15985:4;16092:57;16144:3;16133:9;16129:19;16121:6;16092:57;:::i;:::-;16197:4;16189:6;16185:17;16180:2;16169:9;16165:18;16158:45;16251:9;16243:6;16239:22;16234:2;16223:9;16219:18;16212:50;16279:32;16304:6;16296;16279:32;:::i;:::-;16271:40;;;16348:6;16342:3;16331:9;16327:19;16320:35;15652:709;;;;;;;;:::o;16366:548::-;16690:6;16679:9;16672:25;16733:3;16728:2;16717:9;16713:18;16706:31;16653:4;16754:57;16806:3;16795:9;16791:19;16783:6;16754:57;:::i;:::-;16859:4;16847:17;;;;16842:2;16827:18;;16820:45;-1:-1:-1;16896:2:230;16881:18;16874:34;16746:65;16366:548;-1:-1:-1;;16366:548:230:o;16919:184::-;16989:6;17042:2;17030:9;17021:7;17017:23;17013:32;17010:52;;;17058:1;17055;17048:12;17010:52;-1:-1:-1;17081:16:230;;16919:184;-1:-1:-1;16919:184:230:o;17108:707::-;17455:6;17450:3;17443:19;17492:6;17487:2;17482:3;17478:12;17471:28;17508:37;17538:6;17508:37;:::i;:::-;17579:3;17575:16;;;;17570:2;17561:12;;17554:38;17617:2;17608:12;;17601:28;;;;17654:2;17645:12;;17638:28;;;;17691:3;17682:13;;17675:29;17729:3;17720:13;;17713:29;17767:3;17758:13;;17751:29;17805:3;17796:13;;17108:707;-1:-1:-1;;17108:707:230:o;17820:794::-;18215:6;18204:9;18197:25;18258:3;18253:2;18242:9;18238:18;18231:31;18178:4;18285:57;18337:3;18326:9;18322:19;18314:6;18285:57;:::i;:::-;18390:9;18382:6;18378:22;18373:2;18362:9;18358:18;18351:50;18424:32;18449:6;18441;18424:32;:::i;:::-;18410:46;;18492:6;18487:2;18476:9;18472:18;18465:34;18548:9;18540:6;18536:22;18530:3;18519:9;18515:19;18508:51;18576:32;18601:6;18593;18576:32;:::i;:::-;18568:40;17820:794;-1:-1:-1;;;;;;;;17820:794:230:o;18619:175::-;18656:3;18700:4;18693:5;18689:16;18729:4;18720:7;18717:17;18714:43;;18737:18;;:::i;:::-;18786:1;18773:15;;18619:175;-1:-1:-1;;18619:175:230:o;18799:604::-;19108:6;19097:9;19090:25;19151:3;19146:2;19135:9;19131:18;19124:31;19071:4;19178:57;19230:3;19219:9;19215:19;19207:6;19178:57;:::i;:::-;19283:4;19275:6;19271:17;19266:2;19255:9;19251:18;19244:45;19337:9;19329:6;19325:22;19320:2;19309:9;19305:18;19298:50;19365:32;19390:6;19382;19365:32;:::i;:::-;19357:40;18799:604;-1:-1:-1;;;;;;;18799:604:230:o;19735:128::-;19802:9;;;19823:11;;;19820:37;;;19837:18;;:::i;19868:168::-;19941:9;;;19972;;19989:15;;;19983:22;;19969:37;19959:71;;20010:18;;:::i;20041:640::-;20292:6;20287:3;20280:19;20262:3;20318:2;20351;20346:3;20342:12;20383:6;20377:13;20448:2;20440:6;20436:15;20469:1;20479:175;20493:6;20490:1;20487:13;20479:175;;;20556:13;;20542:28;;20592:14;;;;20629:15;;;;20515:1;20508:9;20479:175;;;-1:-1:-1;20670:5:230;;20041:640;-1:-1:-1;;;;;;;20041:640:230:o;20686:184::-;-1:-1:-1;;;20735:1:230;20728:88;20835:4;20832:1;20825:15;20859:4;20856:1;20849:15;20875:511;21126:2;21115:9;21108:21;21089:4;21152:56;21204:2;21193:9;21189:18;21181:6;21152:56;:::i;:::-;21256:14;21248:6;21244:27;21239:2;21228:9;21224:18;21217:55;21320:9;21312:6;21308:22;21303:2;21292:9;21288:18;21281:50;21348:32;21373:6;21365;21348:32;:::i;21391:616::-;21702:6;21691:9;21684:25;21745:3;21740:2;21729:9;21725:18;21718:31;21665:4;21772:57;21824:3;21813:9;21809:19;21801:6;21772:57;:::i;:::-;21877:14;21869:6;21865:27;21860:2;21849:9;21845:18;21838:55;21941:9;21933:6;21929:22;21924:2;21913:9;21909:18;21902:50;21969:32;21994:6;21986;21969:32;:::i;22012:925::-;22461:66;22453:6;22449:79;22444:3;22437:92;22419:3;22548;22580:2;22576:1;22571:3;22567:11;22560:23;22612:6;22606:13;22628:74;22695:6;22691:1;22686:3;22682:11;22675:4;22667:6;22663:17;22628:74;:::i;:::-;22730:6;22725:3;22721:16;22711:26;;22765:2;22761:1;22757:2;22753:10;22746:22;22799:6;22793:13;22777:29;;22815:75;22881:8;22877:1;22873:2;22869:10;22862:4;22854:6;22850:17;22815:75;:::i;:::-;22910:17;22929:1;22906:25;;22012:925;-1:-1:-1;;;;;22012:925:230:o;22942:339::-;23119:2;23108:9;23101:21;23082:4;23139:44;23179:2;23168:9;23164:18;23156:6;23139:44;:::i;:::-;23131:52;;-1:-1:-1;;;;;23223:6:230;23219:55;23214:2;23203:9;23199:18;23192:83;22942:339;;;;;:::o;23286:287::-;23415:3;23453:6;23447:13;23469:66;23528:6;23523:3;23516:4;23508:6;23504:17;23469:66;:::i;:::-;23551:16;;;;;23286:287;-1:-1:-1;;23286:287:230:o;23578:690::-;23913:3;23902:9;23895:22;23876:4;23940:57;23992:3;23981:9;23977:19;23969:6;23940:57;:::i;:::-;24045:9;24037:6;24033:22;24028:2;24017:9;24013:18;24006:50;24079:32;24104:6;24096;24079:32;:::i;:::-;24065:46;;24147:6;24142:2;24131:9;24127:18;24120:34;24202:9;24194:6;24190:22;24185:2;24174:9;24170:18;24163:50;24230:32;24255:6;24247;24230:32;:::i;24273:899::-;24729:6;24718:9;24711:25;24772:3;24767:2;24756:9;24752:18;24745:31;24692:4;24799:57;24851:3;24840:9;24836:19;24828:6;24799:57;:::i;:::-;24904:9;24896:6;24892:22;24887:2;24876:9;24872:18;24865:50;24938:32;24963:6;24955;24938:32;:::i;:::-;24924:46;;25006:6;25001:2;24990:9;24986:18;24979:34;25062:9;25054:6;25050:22;25044:3;25033:9;25029:19;25022:51;25090:32;25115:6;25107;25090:32;:::i;:::-;25082:40;;;25159:6;25153:3;25142:9;25138:19;25131:35;24273:899;;;;;;;;;:::o;25396:464::-;25643:66;25635:6;25631:79;25620:9;25613:98;25747:6;25742:2;25731:9;25727:18;25720:34;25790:2;25785;25774:9;25770:18;25763:30;25594:4;25810:44;25850:2;25839:9;25835:18;25827:6;25810:44;:::i;25865:174::-;25932:12;25964:10;;;25976;;;25960:27;;25999:11;;;25996:37;;;26013:18;;:::i;:::-;25996:37;25865:174;;;;:::o;26691:901::-;27116:6;27105:9;27098:25;27159:3;27154:2;27143:9;27139:18;27132:31;27079:4;27186:57;27238:3;27227:9;27223:19;27215:6;27186:57;:::i;:::-;27291:4;27279:17;;27274:2;27259:18;;27252:45;27316:12;27364:15;;;27359:2;27344:18;;27337:43;27417:15;;27411:3;27396:19;;27389:44;27464:3;27449:19;;27442:35;;;27514:22;;;27508:3;27493:19;;27486:51;27554:32;27518:6;27571;27554:32;:::i;:::-;27546:40;26691:901;-1:-1:-1;;;;;;;;;;26691:901:230:o;27597:788::-;27962:3;27951:9;27944:22;27925:4;27989:57;28041:3;28030:9;28026:19;28018:6;27989:57;:::i;:::-;28094:4;28086:6;28082:17;28077:2;28066:9;28062:18;28055:45;28148:14;28140:6;28136:27;28131:2;28120:9;28116:18;28109:55;28212:12;28204:6;28200:25;28195:2;28184:9;28180:18;28173:53;28263:6;28257:3;28246:9;28242:19;28235:35;28319:9;28311:6;28307:22;28301:3;28290:9;28286:19;28279:51;28347:32;28372:6;28364;28347:32;:::i;:::-;28339:40;27597:788;-1:-1:-1;;;;;;;;;27597:788:230:o;28650:530::-;28835:3;28873:6;28867:13;28889:66;28948:6;28943:3;28936:4;28928:6;28924:17;28889:66;:::i;:::-;29024:2;29020:15;;;;-1:-1:-1;;29016:88:230;28977:16;;;;29002:103;;;29132:2;29121:14;;29114:30;;;;29171:2;29160:14;;28650:530;-1:-1:-1;;28650:530:230:o;29469:359::-;29672:2;29661:9;29654:21;29635:4;29692:44;29732:2;29721:9;29717:18;29709:6;29692:44;:::i;:::-;29767:2;29752:18;;29745:34;;;;-1:-1:-1;29810:2:230;29795:18;29788:34;29684:52;29469:359;-1:-1:-1;29469:359:230:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","isValidOwner(bytes32,address)":"9b63ec05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465\",\"dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488","urls":["bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465","dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":212}
\ No newline at end of file
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index 2178e955a..ff99256ba 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -34,6 +34,11 @@
"name": "critChanceBonus",
"type": "int256",
"internalType": "int256"
+ },
+ {
+ "name": "classRestrictions",
+ "type": "uint8[]",
+ "internalType": "uint8[]"
}
]
},
@@ -138,6 +143,24 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__assignActionToCharacter",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "actionId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__calculateGoldDrop",
@@ -485,6 +508,24 @@
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__equipAction",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "actionId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__equipItems",
@@ -1632,6 +1673,30 @@
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__isValidOwner",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "owner",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__isValidPvE",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index cef29a393..671df33ca 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -34,6 +34,11 @@ declare const abi: [
"name": "critChanceBonus",
"type": "int256",
"internalType": "int256"
+ },
+ {
+ "name": "classRestrictions",
+ "type": "uint8[]",
+ "internalType": "uint8[]"
}
]
},
@@ -138,6 +143,24 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__assignActionToCharacter",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "actionId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__calculateGoldDrop",
@@ -485,6 +508,24 @@ declare const abi: [
"outputs": [],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__equipAction",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "actionId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__equipItems",
@@ -1632,6 +1673,30 @@ declare const abi: [
],
"stateMutability": "view"
},
+ {
+ "type": "function",
+ "name": "UD__isValidOwner",
+ "inputs": [
+ {
+ "name": "characterId",
+ "type": "bytes32",
+ "internalType": "bytes32"
+ },
+ {
+ "name": "owner",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "view"
+ },
{
"type": "function",
"name": "UD__isValidPvE",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 38fcf7418..3e49e5fa3 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__calculateGoldDrop","inputs":[{"name":"mobLevel","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"dropAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropGold","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItem","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getLootManagerSystem","inputs":[],"outputs":[{"name":"_lootManager","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256),bytes32,bytes32,uint256,uint256)":"fa760cc5","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__calculateGoldDrop(uint256,uint256)":"c3505171","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropGold(bytes32,uint256)":"fda0ce50","UD__dropItem(uint256,uint256,bytes32)":"88c571e1","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentAvailableLevel(uint256)":"d453e623","UD__getCurrentItemsCounter()":"4652f280","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getLootManagerSystem()":"f2cb96f2","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UD__dropGold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__dropItem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getLootManagerSystem\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_lootManager\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"mobLevel","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateGoldDrop","outputs":[{"internalType":"uint256","name":"dropAmount","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropGold"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItem"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getLootManagerSystem","outputs":[{"internalType":"address","name":"_lootManager","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"}},"version":1},"id":206}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__assignActionToCharacter","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__calculateGoldDrop","inputs":[{"name":"mobLevel","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"dropAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropGold","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItem","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipAction","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getLootManagerSystem","inputs":[],"outputs":[{"name":"_lootManager","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256,uint8[]),bytes32,bytes32,uint256,uint256)":"bf81ff5d","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__assignActionToCharacter(bytes32,bytes32)":"854cd561","UD__calculateGoldDrop(uint256,uint256)":"c3505171","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropGold(bytes32,uint256)":"fda0ce50","UD__dropItem(uint256,uint256,bytes32)":"88c571e1","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipAction(bytes32,bytes32)":"3d37a73e","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentAvailableLevel(uint256)":"d453e623","UD__getCurrentItemsCounter()":"4652f280","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getLootManagerSystem()":"f2cb96f2","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidOwner(bytes32,address)":"43def638","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__assignActionToCharacter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UD__dropGold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__dropItem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__equipAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getLootManagerSystem\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_lootManager\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"UD__isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__assignActionToCharacter"},{"inputs":[{"internalType":"uint256","name":"mobLevel","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateGoldDrop","outputs":[{"internalType":"uint256","name":"dropAmount","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropGold"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItem"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipAction"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getLootManagerSystem","outputs":[{"internalType":"address","name":"_lootManager","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"}},"version":1},"id":206}
\ No newline at end of file
diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json
index d790dc1b7..03d7cb095 100644
--- a/packages/contracts/out/MapSystem.sol/MapSystem.json
+++ b/packages/contracts/out/MapSystem.sol/MapSystem.json
@@ -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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212203d11dc1ab477316dcb4a6bf833f258f95be32aa3802e105bd4af41051131db5f64736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212203d11dc1ab477316dcb4a6bf833f258f95be32aa3802e105bd4af41051131db5f64736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:228;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:228;;;689:74;;677:2;662:18;1262:113:123;543:226:228;1755:239:216;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:228;;1401:2;1386:18;1616:110:123;1267:177:228;1580:169:216;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:216:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:216:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:216;;1279:70;;;;-1:-1:-1;;;1279:70:216;;2807:2:228;1279:70:216;;;2789:21:228;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:216;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:216;;3212:2:228;1360:67:216;;;3194:21:228;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:216;3010:349:228;1360:67:216;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:216;;605:69;;;;-1:-1:-1;;;605:69:216;;3566:2:228;605:69:216;;;3548:21:228;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:216;3364:399:228;605:69:216;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:216;;3970:2:228;685:62:216;;;3952:21:228;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:216;3768:345:228;685:62:216;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:216;;4320:2:228;885:37:216;;;4302:21:228;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:216;4118:339:228;885:37:216;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:216;;4664:2:228;932:38:216;;;4646:21:228;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:216;4462:339:228;932:38:216;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:216;;5008:2:228;980:91:216;;;4990:21:228;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:216;4806:354:228;980:91:216;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:228;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:228;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:228;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:228;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:216:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:216;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:216:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:216;;7009:2:228;4393:63:216;;;6991:21:228;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:216;6807:355:228;4393:63:216;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:216;;7369:2:228;2296:80:216;;;7351:21:228;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:216;7167:403:228;2296:80:216;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:228;;1401:2;1386:18;;1267:177;2515:42:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:216;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:228;2594:9:216;;:20;;1386:18:228;;2594:38:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:216;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:228;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:216;;;;-1:-1:-1;;2754:148:216;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:216;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:216:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:228;18911:18;;3713:52:107;18794:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:216:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:216;;3609:106;-1:-1:-1;3609:106:216:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:228;25536:15;;;45340:92:45;;;25518:34:228;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:228;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:228;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:228;;51494:30:45;27964:279:228;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:228;;;1386:18;;7664:67:24;1267:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:228;30142:79;;2092:30:124;;;30130:92:228;2092:30:124;;30238:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:228;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:228;;1710:439;-1:-1:-1;;;;;1710:439:228:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:228;;2420:180;-1:-1:-1;2420:180:228:o;5165:184::-;-1:-1:-1;;;5214:1:228;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:228;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:228;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:228;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:228;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:228;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:228;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:228;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:228;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:228;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:228;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:228:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:228;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:228:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:228:o;10716:184::-;-1:-1:-1;;;10765:1:228;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:228:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:228;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:228;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:228;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:228;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:228:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:228;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:228:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:228;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:228:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:228;;15702:184;-1:-1:-1;15702:184:228:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:228:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:228:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:228;;21043:640;-1:-1:-1;;;;;;;21043:640:228:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:228:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:228:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:228:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:228;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:228:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:228:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f\",\"dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd\",\"dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0xdbf163946f91e5c80a1e75835ea4271cb9aaa6c7b2f91dcce69d43a150b998f5","urls":["bzz-raw://77a56e2cadab6690d91ff4f2189b17a634320649a353c8a9cc2bee557d56f01f","dweb:/ipfs/QmVofp8EU3fnCiMfBmXS6cVUL2HR4DaCoacWTMxojLd5Xp"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x1e0aefa251dd9cd44c38895d11baba0915b7092c9790d6b2b4924cc7ff767328","urls":["bzz-raw://8eb34901f8cbf907343c936d2ac2b810c8533a14b4939f72209f9cb758936afd","dweb:/ipfs/QmeL2kWabayRacjcGWtzoHsVGYXbxvk7q5rPaxLQZXZCYv"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":216}
\ No newline at end of file
+{"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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220053cba1e3ac40a56108edce34eefa1531cb77e974b1eb3bcf098a3497d365a8e64736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220053cba1e3ac40a56108edce34eefa1531cb77e974b1eb3bcf098a3497d365a8e64736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:230;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:230;;;689:74;;677:2;662:18;1262:113:123;543:226:230;1755:239:217;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:230;;1401:2;1386:18;1616:110:123;1267:177:230;1580:169:217;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:217:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:217:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:217;;1279:70;;;;-1:-1:-1;;;1279:70:217;;2807:2:230;1279:70:217;;;2789:21:230;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:217;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:217;;3212:2:230;1360:67:217;;;3194:21:230;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:217;3010:349:230;1360:67:217;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:217;;605:69;;;;-1:-1:-1;;;605:69:217;;3566:2:230;605:69:217;;;3548:21:230;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:217;3364:399:230;605:69:217;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:217;;3970:2:230;685:62:217;;;3952:21:230;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:217;3768:345:230;685:62:217;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:217;;4320:2:230;885:37:217;;;4302:21:230;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:217;4118:339:230;885:37:217;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:217;;4664:2:230;932:38:217;;;4646:21:230;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:217;4462:339:230;932:38:217;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:217;;5008:2:230;980:91:217;;;4990:21:230;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:217;4806:354:230;980:91:217;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:230;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:230;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:230;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:230;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:217:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:217;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:217:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:217;;7009:2:230;4393:63:217;;;6991:21:230;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:217;6807:355:230;4393:63:217;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:217;;7369:2:230;2296:80:217;;;7351:21:230;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:217;7167:403:230;2296:80:217;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:230;;1401:2;1386:18;;1267:177;2515:42:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:217;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:230;2594:9:217;;:20;;1386:18:230;;2594:38:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:217;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:230;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:217;;;;-1:-1:-1;;2754:148:217;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:217;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:217:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:230;18911:18;;3713:52:107;18794:248:230;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:217:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:217;;3609:106;-1:-1:-1;3609:106:217:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:230;25536:15;;;45340:92:45;;;25518:34:230;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:230;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:230;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:230;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:230;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:230;;51494:30:45;27964:279:230;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:230;;;1386:18;;7664:67:24;1267:177:230;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:230;30142:79;;2092:30:124;;;30130:92:230;2092:30:124;;30238:12:230;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:230;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:230;;1710:439;-1:-1:-1;;;;;1710:439:230:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:230;;2420:180;-1:-1:-1;2420:180:230:o;5165:184::-;-1:-1:-1;;;5214:1:230;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:230;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:230;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:230;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:230;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:230;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:230;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:230;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:230;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:230;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:230;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:230:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:230;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:230:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:230:o;10716:184::-;-1:-1:-1;;;10765:1:230;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:230:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:230;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:230;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:230;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:230;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:230:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:230;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:230:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:230;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:230:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:230;;15702:184;-1:-1:-1;15702:184:230:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:230:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:230:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:230;;21043:640;-1:-1:-1;;;;;;;21043:640:230:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:230:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:230:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:230:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:230;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:230:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:230:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":217}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/world/IActionSystem.sol b/packages/contracts/src/codegen/world/IActionSystem.sol
index 0ec3e6231..a8b250e62 100644
--- a/packages/contracts/src/codegen/world/IActionSystem.sol
+++ b/packages/contracts/src/codegen/world/IActionSystem.sol
@@ -12,4 +12,8 @@ import { ActionType } from "@codegen/common.sol";
*/
interface IActionSystem {
function UD__createAction(ActionType actionType, bytes memory actionStats) external returns (bytes32 actionId);
+
+ function UD__assignActionToCharacter(bytes32 characterId, bytes32 actionId) external;
+
+ function UD__equipAction(bytes32 characterId, bytes32 actionId) external;
}
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index 78f513d7a..7672f9758 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -24,6 +24,8 @@ interface ICharacterSystem {
function UD__isValidCharacterId(bytes32 characterId) external view returns (bool);
+ function UD__isValidOwner(bytes32 characterId, address owner) external view returns (bool);
+
function UD__mintCharacter(
address account,
bytes32 name,
diff --git a/packages/contracts/src/interfaces/Structs.sol b/packages/contracts/src/interfaces/Structs.sol
index 1dfce41bc..d48a8a006 100644
--- a/packages/contracts/src/interfaces/Structs.sol
+++ b/packages/contracts/src/interfaces/Structs.sol
@@ -93,6 +93,7 @@ struct PhysicalAttackStats {
int256 attackModifierBonus;
// crit chance
int256 critChanceBonus;
+ uint8[] classRestrictions;
}
struct Action {
diff --git a/packages/contracts/src/systems/ActionSystem.sol b/packages/contracts/src/systems/ActionSystem.sol
index 8864bc290..57bb4b46c 100644
--- a/packages/contracts/src/systems/ActionSystem.sol
+++ b/packages/contracts/src/systems/ActionSystem.sol
@@ -9,8 +9,10 @@ import {
Actions,
Stats,
CombatEncounter,
- CombatEncounterData
+ CombatEncounterData,
+ CharacterEquipment
} from "@codegen/index.sol";
+import {IWorld} from "@world/IWorld.sol";
import {RngRequestType, MobType, EncounterType, ActionType} from "@codegen/common.sol";
import {Counters} from "@tables/Counters.sol";
import {Mobs, MobsData} from "@tables/Mobs.sol";
@@ -29,4 +31,10 @@ contract ActionSystem is System {
);
Actions.set(actionId, actionType, actionStats);
}
+
+ function assignActionToCharacter(bytes32 characterId, bytes32 actionId) public {}
+
+ function equipAction(bytes32 characterId, bytes32 actionId) public {
+ require(IWorld(_world()).UD__isValidOwner(characterId, _msgSender()), "ACTIONS: INVALID CALLER");
+ }
}
diff --git a/packages/contracts/src/systems/CharacterSystem.sol b/packages/contracts/src/systems/CharacterSystem.sol
index 07c5e74f4..a624eef8e 100644
--- a/packages/contracts/src/systems/CharacterSystem.sol
+++ b/packages/contracts/src/systems/CharacterSystem.sol
@@ -79,6 +79,10 @@ contract CharacterSystem is System {
return ownerOf == ownerAddress;
}
+ function isValidOwner(bytes32 characterId, address owner) public view returns (bool) {
+ return isValidCharacterId(characterId) && _characterToken().ownerOf(getCharacterTokenId(characterId)) == owner;
+ }
+
/**
* @param account the address of the account that will own the character
* @param name the keccack256 hash of the characters name to check for duplicates
@@ -120,9 +124,8 @@ contract CharacterSystem is System {
tempStats.currentHp = int256(tempStats.baseHitPoints);
Stats.set(characterId, tempStats);
IWorld(_world()).UD__dropGold(characterId, 5 ether);
- // issue starterWeapon
+ // issue starter gear
IWorld(_world()).UD__issueStarterItems(characterId);
- // SystemSwitch.call(abi.encodeCall(ILootManagerSystem.UD__issueStarterItems, (characterId)));
Characters.setLocked(characterId, true);
}
diff --git a/packages/contracts/src/systems/EquipmentSystem.sol b/packages/contracts/src/systems/EquipmentSystem.sol
index 2b8023128..582415c1a 100644
--- a/packages/contracts/src/systems/EquipmentSystem.sol
+++ b/packages/contracts/src/systems/EquipmentSystem.sol
@@ -194,7 +194,7 @@ contract EquipmentSystem is System {
address characterOwner = IWorld(_world()).UD__getOwner(characterId);
require(characterOwner == _msgSender(), "ITEMS: Not Character Owner");
uint8 itemType = uint8(IWorld(_world()).UD__getItemType(itemId));
- if (itemType == 0) {
+ if (itemType == uint8(0)) {
uint256[] memory sortedArray = _swapToEndOfArray(itemId, CharacterEquipment.getEquippedWeapons(characterId));
if (sortedArray[sortedArray.length - 1] == itemId) {
CharacterEquipment.setEquippedWeapons(characterId, sortedArray);
@@ -202,16 +202,14 @@ contract EquipmentSystem is System {
success = true;
}
- }
- if (itemType == 1) {
+ } else if (itemType == uint8(1)) {
uint256[] memory sortedArray = _swapToEndOfArray(itemId, CharacterEquipment.getEquippedArmor(characterId));
if (sortedArray[sortedArray.length - 1] == itemId) {
CharacterEquipment.setEquippedArmor(characterId, sortedArray);
CharacterEquipment.popEquippedArmor(characterId);
success = true;
}
- }
- if (itemType == 2) {
+ } else if (itemType == uint8(2)) {
// uint256[] memory sortedArray =
// _moveIdToEndOfArray(itemId, CharacterEquipment.getEquippedSpells(characterId));
// if (sortedArray[sortedArray.length - 1] == itemId) {
@@ -219,6 +217,8 @@ contract EquipmentSystem is System {
// CharacterEquipment.popEquippedSpells(characterId);
// success = true;
// }
+ } else {
+ revert("EQUIPMENT: UNRECOGNIZED ITEM TYPE");
}
_setEquipmentBonuses(characterId);
}
@@ -279,12 +279,21 @@ contract EquipmentSystem is System {
pure
returns (uint256[] memory swappedArray)
{
- for (uint256 i; i < array.length;) {
- if (array[i] == itemId) {
- uint256 last = array[array.length - 1];
- array[i] = last;
- array[array.length - 1] = itemId;
+ if (array.length > 1) {
+ for (uint256 i; i < array.length;) {
+ if (array[i] == itemId) {
+ uint256 last = array[array.length - 1];
+ array[i] = last;
+ array[array.length - 1] = itemId;
+ swappedArray = array;
+ break;
+ }
+ {
+ i++;
+ }
}
+ } else {
+ swappedArray = array;
}
}
diff --git a/packages/contracts/test/SetUp.sol b/packages/contracts/test/SetUp.sol
index e759aba12..f31b826a4 100644
--- a/packages/contracts/test/SetUp.sol
+++ b/packages/contracts/test/SetUp.sol
@@ -70,8 +70,13 @@ contract SetUp is Test {
hitPointModifier: 4
});
- PhysicalAttackStats memory basicAttack =
- PhysicalAttackStats({bonusDamage: 0, armorPenetration: 0, attackModifierBonus: 0, critChanceBonus: 0});
+ PhysicalAttackStats memory basicAttack = PhysicalAttackStats({
+ bonusDamage: 0,
+ armorPenetration: 0,
+ attackModifierBonus: 0,
+ critChanceBonus: 0,
+ classRestrictions: classRestrictions
+ });
basicAttackId = world.UD__createAction(ActionType.PhysicalAttack, abi.encode(basicAttack));
vm.label(alice, "alice");
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 537af92d0..dd4ddd1e5 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,6 +1,6 @@
{
"31337": {
- "address": "0xd5274fd8e66408599e437619e13621aaf79e4a1a"
+ "address": "0xa74b62c241f67bb108d8cad91ab58da0ea6a28f5"
},
"84532": {
"address": "0x304d17a51415f9ce2a1c3d5213a10c58098b1d44",
From af427de7a0ab2bad8c9b6fa4aa4e26f15d289b04 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Sun, 14 Jul 2024 20:34:07 -0500
Subject: [PATCH 5/8] fixed multiple item equipping
---
packages/contracts/src/codegen/common.sol | 60 +-
packages/contracts/src/codegen/index.sol | 42 +-
.../contracts/src/codegen/tables/Actions.sol | 924 ++++----
.../contracts/src/codegen/tables/Admin.sol | 386 +--
.../src/codegen/tables/CharacterEquipment.sol | 2101 ++++++++---------
.../src/codegen/tables/Characters.sol | 820 ++++---
.../src/codegen/tables/CombatEncounter.sol | 1731 +++++++-------
.../contracts/src/codegen/tables/Counters.sol | 404 ++--
.../src/codegen/tables/EntitiesAtPosition.sol | 950 ++++----
.../contracts/src/codegen/tables/Items.sol | 1017 ++++----
.../contracts/src/codegen/tables/Levels.sol | 380 +--
.../src/codegen/tables/MapConfig.sol | 510 ++--
.../src/codegen/tables/MatchEntity.sol | 613 +++--
.../contracts/src/codegen/tables/Mobs.sol | 1272 +++++-----
.../src/codegen/tables/MobsByLevel.sol | 886 +++----
.../contracts/src/codegen/tables/Name.sol | 880 +++----
.../src/codegen/tables/NameExists.sol | 386 +--
.../contracts/src/codegen/tables/Position.sol | 538 +++--
.../src/codegen/tables/RandomNumbers.sol | 924 ++++----
.../contracts/src/codegen/tables/Spawned.sol | 386 +--
.../src/codegen/tables/StarterItems.sol | 1145 ++++-----
.../contracts/src/codegen/tables/Stats.sol | 1348 ++++++-----
.../codegen/tables/UltimateDominionConfig.sol | 1137 +++++----
.../src/codegen/world/IActionSystem.sol | 8 +-
.../src/codegen/world/ICharacterSystem.sol | 40 +-
.../src/codegen/world/ICombatSystem.sol | 58 +-
.../src/codegen/world/IEquipmentSystem.sol | 19 +-
.../src/codegen/world/IItemsSystem.sol | 46 +-
.../src/codegen/world/IMapSystem.sol | 11 +-
.../src/codegen/world/IMobSystem.sol | 35 +-
.../world/IUltimateDominionConfigSystem.sol | 14 +-
.../contracts/src/codegen/world/IWorld.sol | 40 +-
.../contracts/src/systems/EquipmentSystem.sol | 8 +-
33 files changed, 9525 insertions(+), 9594 deletions(-)
diff --git a/packages/contracts/src/codegen/common.sol b/packages/contracts/src/codegen/common.sol
index f7e7e32f9..5ccf0da3d 100644
--- a/packages/contracts/src/codegen/common.sol
+++ b/packages/contracts/src/codegen/common.sol
@@ -3,55 +3,55 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
enum Classes {
- Warrior,
- Rogue,
- Mage
+ Warrior,
+ Rogue,
+ Mage
}
enum RngRequestType {
- CharacterStats,
- Combat,
- WorldGeneration
+ CharacterStats,
+ Combat,
+ WorldGeneration
}
enum ItemType {
- Weapon,
- Armor,
- Spell,
- Potion,
- Material,
- QuestItem
+ Weapon,
+ Armor,
+ Spell,
+ Potion,
+ Material,
+ QuestItem
}
enum MobType {
- Monster,
- NPC
+ Monster,
+ NPC
}
enum Alignment {
- Loyalist,
- Neutral,
- Rebel,
- Aggro
+ Loyalist,
+ Neutral,
+ Rebel,
+ Aggro
}
enum EncounterType {
- PvP,
- PvE
+ PvP,
+ PvE
}
enum ActionType {
- Temporary,
- PhysicalAttack,
- MagicAttack,
- StatusEffect
+ Temporary,
+ PhysicalAttack,
+ MagicAttack,
+ StatusEffect
}
enum StatusEffects {
- ToHitModifier,
- DoT,
- HitPointMod,
- ArmorMod,
- WeaponMod,
- Stun
+ ToHitModifier,
+ DoT,
+ HitPointMod,
+ ArmorMod,
+ WeaponMod,
+ Stun
}
diff --git a/packages/contracts/src/codegen/index.sol b/packages/contracts/src/codegen/index.sol
index 9aac60c5b..5e723a45c 100644
--- a/packages/contracts/src/codegen/index.sol
+++ b/packages/contracts/src/codegen/index.sol
@@ -3,24 +3,24 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import { Admin } from "./tables/Admin.sol";
-import { Characters, CharactersData } from "./tables/Characters.sol";
-import { Stats, StatsData } from "./tables/Stats.sol";
-import { MapConfig } from "./tables/MapConfig.sol";
-import { Spawned } from "./tables/Spawned.sol";
-import { Mobs, MobsData } from "./tables/Mobs.sol";
-import { MobsByLevel } from "./tables/MobsByLevel.sol";
-import { Levels } from "./tables/Levels.sol";
-import { CharacterEquipment, CharacterEquipmentData } from "./tables/CharacterEquipment.sol";
-import { Counters } from "./tables/Counters.sol";
-import { Items, ItemsData } from "./tables/Items.sol";
-import { Actions, ActionsData } from "./tables/Actions.sol";
-import { StarterItems, StarterItemsData } from "./tables/StarterItems.sol";
-import { Name } from "./tables/Name.sol";
-import { NameExists } from "./tables/NameExists.sol";
-import { CombatEncounter, CombatEncounterData } from "./tables/CombatEncounter.sol";
-import { MatchEntity, MatchEntityData } from "./tables/MatchEntity.sol";
-import { RandomNumbers, RandomNumbersData } from "./tables/RandomNumbers.sol";
-import { Position } from "./tables/Position.sol";
-import { EntitiesAtPosition } from "./tables/EntitiesAtPosition.sol";
-import { UltimateDominionConfig, UltimateDominionConfigData } from "./tables/UltimateDominionConfig.sol";
+import {Admin} from "./tables/Admin.sol";
+import {Characters, CharactersData} from "./tables/Characters.sol";
+import {Stats, StatsData} from "./tables/Stats.sol";
+import {MapConfig} from "./tables/MapConfig.sol";
+import {Spawned} from "./tables/Spawned.sol";
+import {Mobs, MobsData} from "./tables/Mobs.sol";
+import {MobsByLevel} from "./tables/MobsByLevel.sol";
+import {Levels} from "./tables/Levels.sol";
+import {CharacterEquipment, CharacterEquipmentData} from "./tables/CharacterEquipment.sol";
+import {Counters} from "./tables/Counters.sol";
+import {Items, ItemsData} from "./tables/Items.sol";
+import {Actions, ActionsData} from "./tables/Actions.sol";
+import {StarterItems, StarterItemsData} from "./tables/StarterItems.sol";
+import {Name} from "./tables/Name.sol";
+import {NameExists} from "./tables/NameExists.sol";
+import {CombatEncounter, CombatEncounterData} from "./tables/CombatEncounter.sol";
+import {MatchEntity, MatchEntityData} from "./tables/MatchEntity.sol";
+import {RandomNumbers, RandomNumbersData} from "./tables/RandomNumbers.sol";
+import {Position} from "./tables/Position.sol";
+import {EntitiesAtPosition} from "./tables/EntitiesAtPosition.sol";
+import {UltimateDominionConfig, UltimateDominionConfigData} from "./tables/UltimateDominionConfig.sol";
diff --git a/packages/contracts/src/codegen/tables/Actions.sol b/packages/contracts/src/codegen/tables/Actions.sol
index bb1d02af3..ff15ef5df 100644
--- a/packages/contracts/src/codegen/tables/Actions.sol
+++ b/packages/contracts/src/codegen/tables/Actions.sol
@@ -4,475 +4,471 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import { ActionType } from "./../common.sol";
+import {ActionType} from "./../common.sol";
struct ActionsData {
- ActionType actionType;
- bytes actionStats;
+ ActionType actionType;
+ bytes actionStats;
}
library Actions {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Actions", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000416374696f6e73000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, bytes)
- Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "actionId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "actionType";
- fieldNames[1] = "actionStats";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get actionType.
- */
- function getActionType(bytes32 actionId) internal view returns (ActionType actionType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return ActionType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get actionType.
- */
- function _getActionType(bytes32 actionId) internal view returns (ActionType actionType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return ActionType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set actionType.
- */
- function setActionType(bytes32 actionId, ActionType actionType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(actionType)), _fieldLayout);
- }
-
- /**
- * @notice Set actionType.
- */
- function _setActionType(bytes32 actionId, ActionType actionType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(actionType)), _fieldLayout);
- }
-
- /**
- * @notice Get actionStats.
- */
- function getActionStats(bytes32 actionId) internal view returns (bytes memory actionStats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Get actionStats.
- */
- function _getActionStats(bytes32 actionId) internal view returns (bytes memory actionStats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Set actionStats.
- */
- function setActionStats(bytes32 actionId, bytes memory actionStats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((actionStats)));
- }
-
- /**
- * @notice Set actionStats.
- */
- function _setActionStats(bytes32 actionId, bytes memory actionStats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((actionStats)));
- }
-
- /**
- * @notice Get the length of actionStats.
- */
- function lengthActionStats(bytes32 actionId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of actionStats.
- */
- function _lengthActionStats(bytes32 actionId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of actionStats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemActionStats(bytes32 actionId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Get an item of actionStats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemActionStats(bytes32 actionId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Push a slice to actionStats.
- */
- function pushActionStats(bytes32 actionId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to actionStats.
- */
- function _pushActionStats(bytes32 actionId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from actionStats.
- */
- function popActionStats(bytes32 actionId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from actionStats.
- */
- function _popActionStats(bytes32 actionId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of actionStats at `_index`.
- */
- function updateActionStats(bytes32 actionId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of actionStats at `_index`.
- */
- function _updateActionStats(bytes32 actionId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 actionId) internal view returns (ActionsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 actionId) internal view returns (ActionsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 actionId, ActionType actionType, bytes memory actionStats) internal {
- bytes memory _staticData = encodeStatic(actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(actionStats);
- bytes memory _dynamicData = encodeDynamic(actionStats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 actionId, ActionType actionType, bytes memory actionStats) internal {
- bytes memory _staticData = encodeStatic(actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(actionStats);
- bytes memory _dynamicData = encodeDynamic(actionStats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 actionId, ActionsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.actionStats);
- bytes memory _dynamicData = encodeDynamic(_table.actionStats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 actionId, ActionsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.actionStats);
- bytes memory _dynamicData = encodeDynamic(_table.actionStats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (ActionType actionType) {
- actionType = ActionType(uint8(Bytes.getBytes1(_blob, 0)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(
- EncodedLengths _encodedLengths,
- bytes memory _blob
- ) internal pure returns (bytes memory actionStats) {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- actionStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths _encodedLengths,
- bytes memory _dynamicData
- ) internal pure returns (ActionsData memory _table) {
- (_table.actionType) = decodeStatic(_staticData);
-
- (_table.actionStats) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 actionId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 actionId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(ActionType actionType) internal pure returns (bytes memory) {
- return abi.encodePacked(actionType);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes memory actionStats) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(actionStats).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes memory actionStats) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((actionStats)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- ActionType actionType,
- bytes memory actionStats
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(actionStats);
- bytes memory _dynamicData = encodeDynamic(actionStats);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 actionId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Actions", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000416374696f6e73000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, bytes)
+ Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "actionId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "actionType";
+ fieldNames[1] = "actionStats";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get actionType.
+ */
+ function getActionType(bytes32 actionId) internal view returns (ActionType actionType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return ActionType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get actionType.
+ */
+ function _getActionType(bytes32 actionId) internal view returns (ActionType actionType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return ActionType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set actionType.
+ */
+ function setActionType(bytes32 actionId, ActionType actionType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(actionType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set actionType.
+ */
+ function _setActionType(bytes32 actionId, ActionType actionType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(actionType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get actionStats.
+ */
+ function getActionStats(bytes32 actionId) internal view returns (bytes memory actionStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get actionStats.
+ */
+ function _getActionStats(bytes32 actionId) internal view returns (bytes memory actionStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set actionStats.
+ */
+ function setActionStats(bytes32 actionId, bytes memory actionStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((actionStats)));
+ }
+
+ /**
+ * @notice Set actionStats.
+ */
+ function _setActionStats(bytes32 actionId, bytes memory actionStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((actionStats)));
+ }
+
+ /**
+ * @notice Get the length of actionStats.
+ */
+ function lengthActionStats(bytes32 actionId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of actionStats.
+ */
+ function _lengthActionStats(bytes32 actionId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of actionStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemActionStats(bytes32 actionId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of actionStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemActionStats(bytes32 actionId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to actionStats.
+ */
+ function pushActionStats(bytes32 actionId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to actionStats.
+ */
+ function _pushActionStats(bytes32 actionId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from actionStats.
+ */
+ function popActionStats(bytes32 actionId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from actionStats.
+ */
+ function _popActionStats(bytes32 actionId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of actionStats at `_index`.
+ */
+ function updateActionStats(bytes32 actionId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of actionStats at `_index`.
+ */
+ function _updateActionStats(bytes32 actionId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 actionId) internal view returns (ActionsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 actionId) internal view returns (ActionsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 actionId, ActionType actionType, bytes memory actionStats) internal {
+ bytes memory _staticData = encodeStatic(actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(actionStats);
+ bytes memory _dynamicData = encodeDynamic(actionStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 actionId, ActionType actionType, bytes memory actionStats) internal {
+ bytes memory _staticData = encodeStatic(actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(actionStats);
+ bytes memory _dynamicData = encodeDynamic(actionStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 actionId, ActionsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.actionStats);
+ bytes memory _dynamicData = encodeDynamic(_table.actionStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 actionId, ActionsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.actionStats);
+ bytes memory _dynamicData = encodeDynamic(_table.actionStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (ActionType actionType) {
+ actionType = ActionType(uint8(Bytes.getBytes1(_blob, 0)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
+ internal
+ pure
+ returns (bytes memory actionStats)
+ {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ actionStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
+ internal
+ pure
+ returns (ActionsData memory _table)
+ {
+ (_table.actionType) = decodeStatic(_staticData);
+
+ (_table.actionStats) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 actionId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 actionId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(ActionType actionType) internal pure returns (bytes memory) {
+ return abi.encodePacked(actionType);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes memory actionStats) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(actionStats).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory actionStats) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((actionStats)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(ActionType actionType, bytes memory actionStats)
+ internal
+ pure
+ returns (bytes memory, EncodedLengths, bytes memory)
+ {
+ bytes memory _staticData = encodeStatic(actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(actionStats);
+ bytes memory _dynamicData = encodeDynamic(actionStats);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 actionId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Admin.sol b/packages/contracts/src/codegen/tables/Admin.sol
index 7c5a2e32a..4182226a2 100644
--- a/packages/contracts/src/codegen/tables/Admin.sol
+++ b/packages/contracts/src/codegen/tables/Admin.sol
@@ -4,198 +4,198 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library Admin {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Admin", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000041646d696e0000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool)
- Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "id";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "value";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get value.
- */
- function getValue(bytes32 id) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function _getValue(bytes32 id) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function get(bytes32 id) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function _get(bytes32 id) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set value.
- */
- function setValue(bytes32 id, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function _setValue(bytes32 id, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function set(bytes32 id, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function _set(bytes32 id, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(bool value) internal pure returns (bytes memory) {
- return abi.encodePacked(value);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bool value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(value);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 id) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Admin", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000041646d696e0000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool)
+ Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "id";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "value";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function getValue(bytes32 id) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _getValue(bytes32 id) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function get(bytes32 id) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _get(bytes32 id) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function setValue(bytes32 id, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _setValue(bytes32 id, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function set(bytes32 id, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _set(bytes32 id, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bool value) internal pure returns (bytes memory) {
+ return abi.encodePacked(value);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bool value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(value);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 id) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ return _keyTuple;
+ }
}
/**
@@ -205,7 +205,7 @@ library Admin {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/tables/CharacterEquipment.sol b/packages/contracts/src/codegen/tables/CharacterEquipment.sol
index 88a9c6c2e..39acc9c9a 100644
--- a/packages/contracts/src/codegen/tables/CharacterEquipment.sol
+++ b/packages/contracts/src/codegen/tables/CharacterEquipment.sol
@@ -4,1066 +4,1053 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
struct CharacterEquipmentData {
- int256 strBonus;
- int256 agiBonus;
- int256 intBonus;
- int256 hpBonus;
- uint256 armor;
- uint256[] equippedArmor;
- uint256[] equippedWeapons;
- bytes32[] equippedSpells;
+ int256 strBonus;
+ int256 agiBonus;
+ int256 intBonus;
+ int256 hpBonus;
+ uint256 armor;
+ uint256[] equippedArmor;
+ uint256[] equippedWeapons;
+ bytes32[] equippedSpells;
}
library CharacterEquipment {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CharacterEquipme", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657245717569706d65);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x00a0050320202020200000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (int256, int256, int256, int256, uint256, uint256[], uint256[], bytes32[])
- Schema constant _valueSchema = Schema.wrap(0x00a005033f3f3f3f1f8181c10000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "characterId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](8);
- fieldNames[0] = "strBonus";
- fieldNames[1] = "agiBonus";
- fieldNames[2] = "intBonus";
- fieldNames[3] = "hpBonus";
- fieldNames[4] = "armor";
- fieldNames[5] = "equippedArmor";
- fieldNames[6] = "equippedWeapons";
- fieldNames[7] = "equippedSpells";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get strBonus.
- */
- function getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get strBonus.
- */
- function _getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set strBonus.
- */
- function setStrBonus(bytes32 characterId, int256 strBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
- }
-
- /**
- * @notice Set strBonus.
- */
- function _setStrBonus(bytes32 characterId, int256 strBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
- }
-
- /**
- * @notice Get agiBonus.
- */
- function getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get agiBonus.
- */
- function _getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set agiBonus.
- */
- function setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
- }
-
- /**
- * @notice Set agiBonus.
- */
- function _setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
- }
-
- /**
- * @notice Get intBonus.
- */
- function getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get intBonus.
- */
- function _getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set intBonus.
- */
- function setIntBonus(bytes32 characterId, int256 intBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
- }
-
- /**
- * @notice Set intBonus.
- */
- function _setIntBonus(bytes32 characterId, int256 intBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
- }
-
- /**
- * @notice Get hpBonus.
- */
- function getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get hpBonus.
- */
- function _getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set hpBonus.
- */
- function setHpBonus(bytes32 characterId, int256 hpBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
- }
-
- /**
- * @notice Set hpBonus.
- */
- function _setHpBonus(bytes32 characterId, int256 hpBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
- }
-
- /**
- * @notice Get armor.
- */
- function getArmor(bytes32 characterId) internal view returns (uint256 armor) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get armor.
- */
- function _getArmor(bytes32 characterId) internal view returns (uint256 armor) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set armor.
- */
- function setArmor(bytes32 characterId, uint256 armor) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((armor)), _fieldLayout);
- }
-
- /**
- * @notice Set armor.
- */
- function _setArmor(bytes32 characterId, uint256 armor) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((armor)), _fieldLayout);
- }
-
- /**
- * @notice Get equippedArmor.
- */
- function getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get equippedArmor.
- */
- function _getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set equippedArmor.
- */
- function setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
- }
-
- /**
- * @notice Set equippedArmor.
- */
- function _setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
- }
-
- /**
- * @notice Get the length of equippedArmor.
- */
- function lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of equippedArmor.
- */
- function _lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of equippedArmor.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of equippedArmor.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to equippedArmor.
- */
- function pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to equippedArmor.
- */
- function _pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from equippedArmor.
- */
- function popEquippedArmor(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from equippedArmor.
- */
- function _popEquippedArmor(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of equippedArmor at `_index`.
- */
- function updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of equippedArmor at `_index`.
- */
- function _updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get equippedWeapons.
- */
- function getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get equippedWeapons.
- */
- function _getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set equippedWeapons.
- */
- function setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
- }
-
- /**
- * @notice Set equippedWeapons.
- */
- function _setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
- }
-
- /**
- * @notice Get the length of equippedWeapons.
- */
- function lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of equippedWeapons.
- */
- function _lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of equippedWeapons.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of equippedWeapons.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to equippedWeapons.
- */
- function pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to equippedWeapons.
- */
- function _pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from equippedWeapons.
- */
- function popEquippedWeapons(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Pop an element from equippedWeapons.
- */
- function _popEquippedWeapons(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Update an element of equippedWeapons at `_index`.
- */
- function updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of equippedWeapons at `_index`.
- */
- function _updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get equippedSpells.
- */
- function getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 2);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get equippedSpells.
- */
- function _getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 2);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Set equippedSpells.
- */
- function setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
- }
-
- /**
- * @notice Set equippedSpells.
- */
- function _setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
- }
-
- /**
- * @notice Get the length of equippedSpells.
- */
- function lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 2);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of equippedSpells.
- */
- function _lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 2);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of equippedSpells.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of equippedSpells.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Push an element to equippedSpells.
- */
- function pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to equippedSpells.
- */
- function _pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from equippedSpells.
- */
- function popEquippedSpells(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 2, 32);
- }
-
- /**
- * @notice Pop an element from equippedSpells.
- */
- function _popEquippedSpells(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 2, 32);
- }
-
- /**
- * @notice Update an element of equippedSpells at `_index`.
- */
- function updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 2, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of equippedSpells at `_index`.
- */
- function _updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 2, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bytes32 characterId,
- int256 strBonus,
- int256 agiBonus,
- int256 intBonus,
- int256 hpBonus,
- uint256 armor,
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal {
- bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
-
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bytes32 characterId,
- int256 strBonus,
- int256 agiBonus,
- int256 intBonus,
- int256 hpBonus,
- uint256 armor,
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal {
- bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
-
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strBonus,
- _table.agiBonus,
- _table.intBonus,
- _table.hpBonus,
- _table.armor
- );
-
- EncodedLengths _encodedLengths = encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
- bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strBonus,
- _table.agiBonus,
- _table.intBonus,
- _table.hpBonus,
- _table.armor
- );
-
- EncodedLengths _encodedLengths = encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
- bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(
- bytes memory _blob
- ) internal pure returns (int256 strBonus, int256 agiBonus, int256 intBonus, int256 hpBonus, uint256 armor) {
- strBonus = (int256(uint256(Bytes.getBytes32(_blob, 0))));
-
- agiBonus = (int256(uint256(Bytes.getBytes32(_blob, 32))));
-
- intBonus = (int256(uint256(Bytes.getBytes32(_blob, 64))));
-
- hpBonus = (int256(uint256(Bytes.getBytes32(_blob, 96))));
-
- armor = (uint256(Bytes.getBytes32(_blob, 128)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(
- EncodedLengths _encodedLengths,
- bytes memory _blob
- )
- internal
- pure
- returns (uint256[] memory equippedArmor, uint256[] memory equippedWeapons, bytes32[] memory equippedSpells)
- {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- equippedArmor = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(1);
- }
- equippedWeapons = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(2);
- }
- equippedSpells = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths _encodedLengths,
- bytes memory _dynamicData
- ) internal pure returns (CharacterEquipmentData memory _table) {
- (_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus, _table.armor) = decodeStatic(_staticData);
-
- (_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells) = decodeDynamic(
- _encodedLengths,
- _dynamicData
- );
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- int256 strBonus,
- int256 agiBonus,
- int256 intBonus,
- int256 hpBonus,
- uint256 armor
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(strBonus, agiBonus, intBonus, hpBonus, armor);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(
- equippedArmor.length * 32,
- equippedWeapons.length * 32,
- equippedSpells.length * 32
- );
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal pure returns (bytes memory) {
- return
- abi.encodePacked(
- EncodeArray.encode((equippedArmor)),
- EncodeArray.encode((equippedWeapons)),
- EncodeArray.encode((equippedSpells))
- );
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- int256 strBonus,
- int256 agiBonus,
- int256 intBonus,
- int256 hpBonus,
- uint256 armor,
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
-
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CharacterEquipme", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657245717569706d65);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x00a0050320202020200000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (int256, int256, int256, int256, uint256, uint256[], uint256[], bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x00a005033f3f3f3f1f8181c10000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "characterId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](8);
+ fieldNames[0] = "strBonus";
+ fieldNames[1] = "agiBonus";
+ fieldNames[2] = "intBonus";
+ fieldNames[3] = "hpBonus";
+ fieldNames[4] = "armor";
+ fieldNames[5] = "equippedArmor";
+ fieldNames[6] = "equippedWeapons";
+ fieldNames[7] = "equippedSpells";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get strBonus.
+ */
+ function getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get strBonus.
+ */
+ function _getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set strBonus.
+ */
+ function setStrBonus(bytes32 characterId, int256 strBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set strBonus.
+ */
+ function _setStrBonus(bytes32 characterId, int256 strBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get agiBonus.
+ */
+ function getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get agiBonus.
+ */
+ function _getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set agiBonus.
+ */
+ function setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set agiBonus.
+ */
+ function _setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get intBonus.
+ */
+ function getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get intBonus.
+ */
+ function _getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set intBonus.
+ */
+ function setIntBonus(bytes32 characterId, int256 intBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set intBonus.
+ */
+ function _setIntBonus(bytes32 characterId, int256 intBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get hpBonus.
+ */
+ function getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get hpBonus.
+ */
+ function _getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set hpBonus.
+ */
+ function setHpBonus(bytes32 characterId, int256 hpBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set hpBonus.
+ */
+ function _setHpBonus(bytes32 characterId, int256 hpBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get armor.
+ */
+ function getArmor(bytes32 characterId) internal view returns (uint256 armor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get armor.
+ */
+ function _getArmor(bytes32 characterId) internal view returns (uint256 armor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set armor.
+ */
+ function setArmor(bytes32 characterId, uint256 armor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((armor)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set armor.
+ */
+ function _setArmor(bytes32 characterId, uint256 armor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((armor)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get equippedArmor.
+ */
+ function getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get equippedArmor.
+ */
+ function _getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set equippedArmor.
+ */
+ function setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
+ }
+
+ /**
+ * @notice Set equippedArmor.
+ */
+ function _setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
+ }
+
+ /**
+ * @notice Get the length of equippedArmor.
+ */
+ function lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of equippedArmor.
+ */
+ function _lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedArmor.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedArmor.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to equippedArmor.
+ */
+ function pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to equippedArmor.
+ */
+ function _pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from equippedArmor.
+ */
+ function popEquippedArmor(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from equippedArmor.
+ */
+ function _popEquippedArmor(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of equippedArmor at `_index`.
+ */
+ function updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of equippedArmor at `_index`.
+ */
+ function _updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get equippedWeapons.
+ */
+ function getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get equippedWeapons.
+ */
+ function _getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set equippedWeapons.
+ */
+ function setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
+ }
+
+ /**
+ * @notice Set equippedWeapons.
+ */
+ function _setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
+ }
+
+ /**
+ * @notice Get the length of equippedWeapons.
+ */
+ function lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of equippedWeapons.
+ */
+ function _lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedWeapons.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedWeapons.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to equippedWeapons.
+ */
+ function pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to equippedWeapons.
+ */
+ function _pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from equippedWeapons.
+ */
+ function popEquippedWeapons(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Pop an element from equippedWeapons.
+ */
+ function _popEquippedWeapons(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Update an element of equippedWeapons at `_index`.
+ */
+ function updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of equippedWeapons at `_index`.
+ */
+ function _updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get equippedSpells.
+ */
+ function getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 2);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get equippedSpells.
+ */
+ function _getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 2);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set equippedSpells.
+ */
+ function setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
+ }
+
+ /**
+ * @notice Set equippedSpells.
+ */
+ function _setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
+ }
+
+ /**
+ * @notice Get the length of equippedSpells.
+ */
+ function lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 2);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of equippedSpells.
+ */
+ function _lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 2);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedSpells.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedSpells.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to equippedSpells.
+ */
+ function pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to equippedSpells.
+ */
+ function _pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from equippedSpells.
+ */
+ function popEquippedSpells(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 2, 32);
+ }
+
+ /**
+ * @notice Pop an element from equippedSpells.
+ */
+ function _popEquippedSpells(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 2, 32);
+ }
+
+ /**
+ * @notice Update an element of equippedSpells at `_index`.
+ */
+ function updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 2, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of equippedSpells at `_index`.
+ */
+ function _updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 2, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bytes32 characterId,
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
+ uint256 armor,
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal {
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bytes32 characterId,
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
+ uint256 armor,
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal {
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
+ bytes memory _staticData =
+ encodeStatic(_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus, _table.armor);
+
+ EncodedLengths _encodedLengths =
+ encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
+ bytes memory _staticData =
+ encodeStatic(_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus, _table.armor);
+
+ EncodedLengths _encodedLengths =
+ encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob)
+ internal
+ pure
+ returns (int256 strBonus, int256 agiBonus, int256 intBonus, int256 hpBonus, uint256 armor)
+ {
+ strBonus = (int256(uint256(Bytes.getBytes32(_blob, 0))));
+
+ agiBonus = (int256(uint256(Bytes.getBytes32(_blob, 32))));
+
+ intBonus = (int256(uint256(Bytes.getBytes32(_blob, 64))));
+
+ hpBonus = (int256(uint256(Bytes.getBytes32(_blob, 96))));
+
+ armor = (uint256(Bytes.getBytes32(_blob, 128)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
+ internal
+ pure
+ returns (uint256[] memory equippedArmor, uint256[] memory equippedWeapons, bytes32[] memory equippedSpells)
+ {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ equippedArmor = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(1);
+ }
+ equippedWeapons = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(2);
+ }
+ equippedSpells = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
+ internal
+ pure
+ returns (CharacterEquipmentData memory _table)
+ {
+ (_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus, _table.armor) = decodeStatic(_staticData);
+
+ (_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells) =
+ decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(int256 strBonus, int256 agiBonus, int256 intBonus, int256 hpBonus, uint256 armor)
+ internal
+ pure
+ returns (bytes memory)
+ {
+ return abi.encodePacked(strBonus, agiBonus, intBonus, hpBonus, armor);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(
+ equippedArmor.length * 32, equippedWeapons.length * 32, equippedSpells.length * 32
+ );
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(
+ EncodeArray.encode((equippedArmor)),
+ EncodeArray.encode((equippedWeapons)),
+ EncodeArray.encode((equippedSpells))
+ );
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
+ uint256 armor,
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Characters.sol b/packages/contracts/src/codegen/tables/Characters.sol
index 3ec7e42cc..03611298f 100644
--- a/packages/contracts/src/codegen/tables/Characters.sol
+++ b/packages/contracts/src/codegen/tables/Characters.sol
@@ -4,421 +4,415 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
struct CharactersData {
- uint256 tokenId;
- address owner;
- bytes32 name;
- bool locked;
+ uint256 tokenId;
+ address owner;
+ bytes32 name;
+ bool locked;
}
library Characters {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Characters", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657273000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0055040020142001000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256, address, bytes32, bool)
- Schema constant _valueSchema = Schema.wrap(0x005504001f615f60000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "characterId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](4);
- fieldNames[0] = "tokenId";
- fieldNames[1] = "owner";
- fieldNames[2] = "name";
- fieldNames[3] = "locked";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get tokenId.
- */
- function getTokenId(bytes32 characterId) internal view returns (uint256 tokenId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get tokenId.
- */
- function _getTokenId(bytes32 characterId) internal view returns (uint256 tokenId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set tokenId.
- */
- function setTokenId(bytes32 characterId, uint256 tokenId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((tokenId)), _fieldLayout);
- }
-
- /**
- * @notice Set tokenId.
- */
- function _setTokenId(bytes32 characterId, uint256 tokenId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((tokenId)), _fieldLayout);
- }
-
- /**
- * @notice Get owner.
- */
- function getOwner(bytes32 characterId) internal view returns (address owner) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get owner.
- */
- function _getOwner(bytes32 characterId) internal view returns (address owner) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set owner.
- */
- function setOwner(bytes32 characterId, address owner) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((owner)), _fieldLayout);
- }
-
- /**
- * @notice Set owner.
- */
- function _setOwner(bytes32 characterId, address owner) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((owner)), _fieldLayout);
- }
-
- /**
- * @notice Get name.
- */
- function getName(bytes32 characterId) internal view returns (bytes32 name) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Get name.
- */
- function _getName(bytes32 characterId) internal view returns (bytes32 name) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Set name.
- */
- function setName(bytes32 characterId, bytes32 name) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
- }
-
- /**
- * @notice Set name.
- */
- function _setName(bytes32 characterId, bytes32 name) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
- }
-
- /**
- * @notice Get locked.
- */
- function getLocked(bytes32 characterId) internal view returns (bool locked) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get locked.
- */
- function _getLocked(bytes32 characterId) internal view returns (bool locked) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set locked.
- */
- function setLocked(bytes32 characterId, bool locked) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
- }
-
- /**
- * @notice Set locked.
- */
- function _setLocked(bytes32 characterId, bool locked) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 characterId) internal view returns (CharactersData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 characterId) internal view returns (CharactersData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 characterId, uint256 tokenId, address owner, bytes32 name, bool locked) internal {
- bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 characterId, uint256 tokenId, address owner, bytes32 name, bool locked) internal {
- bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 characterId, CharactersData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.tokenId, _table.owner, _table.name, _table.locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 characterId, CharactersData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.tokenId, _table.owner, _table.name, _table.locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(
- bytes memory _blob
- ) internal pure returns (uint256 tokenId, address owner, bytes32 name, bool locked) {
- tokenId = (uint256(Bytes.getBytes32(_blob, 0)));
-
- owner = (address(Bytes.getBytes20(_blob, 32)));
-
- name = (Bytes.getBytes32(_blob, 52));
-
- locked = (_toBool(uint8(Bytes.getBytes1(_blob, 84))));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths,
- bytes memory
- ) internal pure returns (CharactersData memory _table) {
- (_table.tokenId, _table.owner, _table.name, _table.locked) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- uint256 tokenId,
- address owner,
- bytes32 name,
- bool locked
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(tokenId, owner, name, locked);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- uint256 tokenId,
- address owner,
- bytes32 name,
- bool locked
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Characters", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657273000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0055040020142001000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256, address, bytes32, bool)
+ Schema constant _valueSchema = Schema.wrap(0x005504001f615f60000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "characterId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](4);
+ fieldNames[0] = "tokenId";
+ fieldNames[1] = "owner";
+ fieldNames[2] = "name";
+ fieldNames[3] = "locked";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get tokenId.
+ */
+ function getTokenId(bytes32 characterId) internal view returns (uint256 tokenId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get tokenId.
+ */
+ function _getTokenId(bytes32 characterId) internal view returns (uint256 tokenId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set tokenId.
+ */
+ function setTokenId(bytes32 characterId, uint256 tokenId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((tokenId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set tokenId.
+ */
+ function _setTokenId(bytes32 characterId, uint256 tokenId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((tokenId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get owner.
+ */
+ function getOwner(bytes32 characterId) internal view returns (address owner) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get owner.
+ */
+ function _getOwner(bytes32 characterId) internal view returns (address owner) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set owner.
+ */
+ function setOwner(bytes32 characterId, address owner) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((owner)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set owner.
+ */
+ function _setOwner(bytes32 characterId, address owner) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((owner)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get name.
+ */
+ function getName(bytes32 characterId) internal view returns (bytes32 name) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Get name.
+ */
+ function _getName(bytes32 characterId) internal view returns (bytes32 name) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Set name.
+ */
+ function setName(bytes32 characterId, bytes32 name) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set name.
+ */
+ function _setName(bytes32 characterId, bytes32 name) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get locked.
+ */
+ function getLocked(bytes32 characterId) internal view returns (bool locked) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get locked.
+ */
+ function _getLocked(bytes32 characterId) internal view returns (bool locked) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set locked.
+ */
+ function setLocked(bytes32 characterId, bool locked) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set locked.
+ */
+ function _setLocked(bytes32 characterId, bool locked) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 characterId) internal view returns (CharactersData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 characterId) internal view returns (CharactersData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 characterId, uint256 tokenId, address owner, bytes32 name, bool locked) internal {
+ bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 characterId, uint256 tokenId, address owner, bytes32 name, bool locked) internal {
+ bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 characterId, CharactersData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.tokenId, _table.owner, _table.name, _table.locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 characterId, CharactersData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.tokenId, _table.owner, _table.name, _table.locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob)
+ internal
+ pure
+ returns (uint256 tokenId, address owner, bytes32 name, bool locked)
+ {
+ tokenId = (uint256(Bytes.getBytes32(_blob, 0)));
+
+ owner = (address(Bytes.getBytes20(_blob, 32)));
+
+ name = (Bytes.getBytes32(_blob, 52));
+
+ locked = (_toBool(uint8(Bytes.getBytes1(_blob, 84))));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(bytes memory _staticData, EncodedLengths, bytes memory)
+ internal
+ pure
+ returns (CharactersData memory _table)
+ {
+ (_table.tokenId, _table.owner, _table.name, _table.locked) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint256 tokenId, address owner, bytes32 name, bool locked)
+ internal
+ pure
+ returns (bytes memory)
+ {
+ return abi.encodePacked(tokenId, owner, name, locked);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint256 tokenId, address owner, bytes32 name, bool locked)
+ internal
+ pure
+ returns (bytes memory, EncodedLengths, bytes memory)
+ {
+ bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ return _keyTuple;
+ }
}
/**
@@ -428,7 +422,7 @@ library Characters {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/tables/CombatEncounter.sol b/packages/contracts/src/codegen/tables/CombatEncounter.sol
index 261547160..76270d8c0 100644
--- a/packages/contracts/src/codegen/tables/CombatEncounter.sol
+++ b/packages/contracts/src/codegen/tables/CombatEncounter.sol
@@ -4,879 +4,874 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import { EncounterType } from "./../common.sol";
+import {EncounterType} from "./../common.sol";
struct CombatEncounterData {
- EncounterType encounterType;
- uint256 start;
- uint256 end;
- uint256 currentTurn;
- uint256 maxTurns;
- bytes32[] defenders;
- bytes32[] attackers;
+ EncounterType encounterType;
+ uint256 start;
+ uint256 end;
+ uint256 currentTurn;
+ uint256 maxTurns;
+ bytes32[] defenders;
+ bytes32[] attackers;
}
library CombatEncounter {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CombatEncounter", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000436f6d626174456e636f756e74657200);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0081050201202020200000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, uint256, uint256, uint256, uint256, bytes32[], bytes32[])
- Schema constant _valueSchema = Schema.wrap(0x00810502001f1f1f1fc1c1000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "encounterId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](7);
- fieldNames[0] = "encounterType";
- fieldNames[1] = "start";
- fieldNames[2] = "end";
- fieldNames[3] = "currentTurn";
- fieldNames[4] = "maxTurns";
- fieldNames[5] = "defenders";
- fieldNames[6] = "attackers";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get encounterType.
- */
- function getEncounterType(bytes32 encounterId) internal view returns (EncounterType encounterType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return EncounterType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get encounterType.
- */
- function _getEncounterType(bytes32 encounterId) internal view returns (EncounterType encounterType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return EncounterType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set encounterType.
- */
- function setEncounterType(bytes32 encounterId, EncounterType encounterType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(encounterType)), _fieldLayout);
- }
-
- /**
- * @notice Set encounterType.
- */
- function _setEncounterType(bytes32 encounterId, EncounterType encounterType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(encounterType)), _fieldLayout);
- }
-
- /**
- * @notice Get start.
- */
- function getStart(bytes32 encounterId) internal view returns (uint256 start) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get start.
- */
- function _getStart(bytes32 encounterId) internal view returns (uint256 start) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set start.
- */
- function setStart(bytes32 encounterId, uint256 start) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((start)), _fieldLayout);
- }
-
- /**
- * @notice Set start.
- */
- function _setStart(bytes32 encounterId, uint256 start) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((start)), _fieldLayout);
- }
-
- /**
- * @notice Get end.
- */
- function getEnd(bytes32 encounterId) internal view returns (uint256 end) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get end.
- */
- function _getEnd(bytes32 encounterId) internal view returns (uint256 end) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set end.
- */
- function setEnd(bytes32 encounterId, uint256 end) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((end)), _fieldLayout);
- }
-
- /**
- * @notice Set end.
- */
- function _setEnd(bytes32 encounterId, uint256 end) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((end)), _fieldLayout);
- }
-
- /**
- * @notice Get currentTurn.
- */
- function getCurrentTurn(bytes32 encounterId) internal view returns (uint256 currentTurn) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get currentTurn.
- */
- function _getCurrentTurn(bytes32 encounterId) internal view returns (uint256 currentTurn) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set currentTurn.
- */
- function setCurrentTurn(bytes32 encounterId, uint256 currentTurn) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((currentTurn)), _fieldLayout);
- }
-
- /**
- * @notice Set currentTurn.
- */
- function _setCurrentTurn(bytes32 encounterId, uint256 currentTurn) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((currentTurn)), _fieldLayout);
- }
-
- /**
- * @notice Get maxTurns.
- */
- function getMaxTurns(bytes32 encounterId) internal view returns (uint256 maxTurns) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get maxTurns.
- */
- function _getMaxTurns(bytes32 encounterId) internal view returns (uint256 maxTurns) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set maxTurns.
- */
- function setMaxTurns(bytes32 encounterId, uint256 maxTurns) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((maxTurns)), _fieldLayout);
- }
-
- /**
- * @notice Set maxTurns.
- */
- function _setMaxTurns(bytes32 encounterId, uint256 maxTurns) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((maxTurns)), _fieldLayout);
- }
-
- /**
- * @notice Get defenders.
- */
- function getDefenders(bytes32 encounterId) internal view returns (bytes32[] memory defenders) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get defenders.
- */
- function _getDefenders(bytes32 encounterId) internal view returns (bytes32[] memory defenders) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Set defenders.
- */
- function setDefenders(bytes32 encounterId, bytes32[] memory defenders) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((defenders)));
- }
-
- /**
- * @notice Set defenders.
- */
- function _setDefenders(bytes32 encounterId, bytes32[] memory defenders) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((defenders)));
- }
-
- /**
- * @notice Get the length of defenders.
- */
- function lengthDefenders(bytes32 encounterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of defenders.
- */
- function _lengthDefenders(bytes32 encounterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of defenders.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemDefenders(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of defenders.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemDefenders(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Push an element to defenders.
- */
- function pushDefenders(bytes32 encounterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to defenders.
- */
- function _pushDefenders(bytes32 encounterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from defenders.
- */
- function popDefenders(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from defenders.
- */
- function _popDefenders(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of defenders at `_index`.
- */
- function updateDefenders(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of defenders at `_index`.
- */
- function _updateDefenders(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get attackers.
- */
- function getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get attackers.
- */
- function _getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Set attackers.
- */
- function setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((attackers)));
- }
-
- /**
- * @notice Set attackers.
- */
- function _setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((attackers)));
- }
-
- /**
- * @notice Get the length of attackers.
- */
- function lengthAttackers(bytes32 encounterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of attackers.
- */
- function _lengthAttackers(bytes32 encounterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of attackers.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of attackers.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Push an element to attackers.
- */
- function pushAttackers(bytes32 encounterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to attackers.
- */
- function _pushAttackers(bytes32 encounterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from attackers.
- */
- function popAttackers(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Pop an element from attackers.
- */
- function _popAttackers(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Update an element of attackers at `_index`.
- */
- function updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of attackers at `_index`.
- */
- function _updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 encounterId) internal view returns (CombatEncounterData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 encounterId) internal view returns (CombatEncounterData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bytes32 encounterId,
- EncounterType encounterType,
- uint256 start,
- uint256 end,
- uint256 currentTurn,
- uint256 maxTurns,
- bytes32[] memory defenders,
- bytes32[] memory attackers
- ) internal {
- bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
-
- EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
- bytes memory _dynamicData = encodeDynamic(defenders, attackers);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bytes32 encounterId,
- EncounterType encounterType,
- uint256 start,
- uint256 end,
- uint256 currentTurn,
- uint256 maxTurns,
- bytes32[] memory defenders,
- bytes32[] memory attackers
- ) internal {
- bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
-
- EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
- bytes memory _dynamicData = encodeDynamic(defenders, attackers);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 encounterId, CombatEncounterData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.encounterType,
- _table.start,
- _table.end,
- _table.currentTurn,
- _table.maxTurns
- );
-
- EncodedLengths _encodedLengths = encodeLengths(_table.defenders, _table.attackers);
- bytes memory _dynamicData = encodeDynamic(_table.defenders, _table.attackers);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 encounterId, CombatEncounterData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.encounterType,
- _table.start,
- _table.end,
- _table.currentTurn,
- _table.maxTurns
- );
-
- EncodedLengths _encodedLengths = encodeLengths(_table.defenders, _table.attackers);
- bytes memory _dynamicData = encodeDynamic(_table.defenders, _table.attackers);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(
- bytes memory _blob
- )
- internal
- pure
- returns (EncounterType encounterType, uint256 start, uint256 end, uint256 currentTurn, uint256 maxTurns)
- {
- encounterType = EncounterType(uint8(Bytes.getBytes1(_blob, 0)));
-
- start = (uint256(Bytes.getBytes32(_blob, 1)));
-
- end = (uint256(Bytes.getBytes32(_blob, 33)));
-
- currentTurn = (uint256(Bytes.getBytes32(_blob, 65)));
-
- maxTurns = (uint256(Bytes.getBytes32(_blob, 97)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(
- EncodedLengths _encodedLengths,
- bytes memory _blob
- ) internal pure returns (bytes32[] memory defenders, bytes32[] memory attackers) {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- defenders = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(1);
- }
- attackers = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths _encodedLengths,
- bytes memory _dynamicData
- ) internal pure returns (CombatEncounterData memory _table) {
- (_table.encounterType, _table.start, _table.end, _table.currentTurn, _table.maxTurns) = decodeStatic(_staticData);
-
- (_table.defenders, _table.attackers) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- EncounterType encounterType,
- uint256 start,
- uint256 end,
- uint256 currentTurn,
- uint256 maxTurns
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(encounterType, start, end, currentTurn, maxTurns);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(
- bytes32[] memory defenders,
- bytes32[] memory attackers
- ) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(defenders.length * 32, attackers.length * 32);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes32[] memory defenders, bytes32[] memory attackers) internal pure returns (bytes memory) {
- return abi.encodePacked(EncodeArray.encode((defenders)), EncodeArray.encode((attackers)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- EncounterType encounterType,
- uint256 start,
- uint256 end,
- uint256 currentTurn,
- uint256 maxTurns,
- bytes32[] memory defenders,
- bytes32[] memory attackers
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
-
- EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
- bytes memory _dynamicData = encodeDynamic(defenders, attackers);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 encounterId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CombatEncounter", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000436f6d626174456e636f756e74657200);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0081050201202020200000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, uint256, uint256, uint256, uint256, bytes32[], bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x00810502001f1f1f1fc1c1000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "encounterId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](7);
+ fieldNames[0] = "encounterType";
+ fieldNames[1] = "start";
+ fieldNames[2] = "end";
+ fieldNames[3] = "currentTurn";
+ fieldNames[4] = "maxTurns";
+ fieldNames[5] = "defenders";
+ fieldNames[6] = "attackers";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get encounterType.
+ */
+ function getEncounterType(bytes32 encounterId) internal view returns (EncounterType encounterType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return EncounterType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get encounterType.
+ */
+ function _getEncounterType(bytes32 encounterId) internal view returns (EncounterType encounterType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return EncounterType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set encounterType.
+ */
+ function setEncounterType(bytes32 encounterId, EncounterType encounterType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(encounterType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set encounterType.
+ */
+ function _setEncounterType(bytes32 encounterId, EncounterType encounterType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(encounterType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get start.
+ */
+ function getStart(bytes32 encounterId) internal view returns (uint256 start) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get start.
+ */
+ function _getStart(bytes32 encounterId) internal view returns (uint256 start) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set start.
+ */
+ function setStart(bytes32 encounterId, uint256 start) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((start)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set start.
+ */
+ function _setStart(bytes32 encounterId, uint256 start) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((start)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get end.
+ */
+ function getEnd(bytes32 encounterId) internal view returns (uint256 end) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get end.
+ */
+ function _getEnd(bytes32 encounterId) internal view returns (uint256 end) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set end.
+ */
+ function setEnd(bytes32 encounterId, uint256 end) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((end)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set end.
+ */
+ function _setEnd(bytes32 encounterId, uint256 end) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((end)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get currentTurn.
+ */
+ function getCurrentTurn(bytes32 encounterId) internal view returns (uint256 currentTurn) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get currentTurn.
+ */
+ function _getCurrentTurn(bytes32 encounterId) internal view returns (uint256 currentTurn) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set currentTurn.
+ */
+ function setCurrentTurn(bytes32 encounterId, uint256 currentTurn) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((currentTurn)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set currentTurn.
+ */
+ function _setCurrentTurn(bytes32 encounterId, uint256 currentTurn) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((currentTurn)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get maxTurns.
+ */
+ function getMaxTurns(bytes32 encounterId) internal view returns (uint256 maxTurns) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get maxTurns.
+ */
+ function _getMaxTurns(bytes32 encounterId) internal view returns (uint256 maxTurns) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set maxTurns.
+ */
+ function setMaxTurns(bytes32 encounterId, uint256 maxTurns) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((maxTurns)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set maxTurns.
+ */
+ function _setMaxTurns(bytes32 encounterId, uint256 maxTurns) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((maxTurns)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get defenders.
+ */
+ function getDefenders(bytes32 encounterId) internal view returns (bytes32[] memory defenders) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get defenders.
+ */
+ function _getDefenders(bytes32 encounterId) internal view returns (bytes32[] memory defenders) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set defenders.
+ */
+ function setDefenders(bytes32 encounterId, bytes32[] memory defenders) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((defenders)));
+ }
+
+ /**
+ * @notice Set defenders.
+ */
+ function _setDefenders(bytes32 encounterId, bytes32[] memory defenders) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((defenders)));
+ }
+
+ /**
+ * @notice Get the length of defenders.
+ */
+ function lengthDefenders(bytes32 encounterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of defenders.
+ */
+ function _lengthDefenders(bytes32 encounterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of defenders.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemDefenders(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of defenders.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemDefenders(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to defenders.
+ */
+ function pushDefenders(bytes32 encounterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to defenders.
+ */
+ function _pushDefenders(bytes32 encounterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from defenders.
+ */
+ function popDefenders(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from defenders.
+ */
+ function _popDefenders(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of defenders at `_index`.
+ */
+ function updateDefenders(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of defenders at `_index`.
+ */
+ function _updateDefenders(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get attackers.
+ */
+ function getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get attackers.
+ */
+ function _getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set attackers.
+ */
+ function setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((attackers)));
+ }
+
+ /**
+ * @notice Set attackers.
+ */
+ function _setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((attackers)));
+ }
+
+ /**
+ * @notice Get the length of attackers.
+ */
+ function lengthAttackers(bytes32 encounterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of attackers.
+ */
+ function _lengthAttackers(bytes32 encounterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of attackers.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of attackers.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to attackers.
+ */
+ function pushAttackers(bytes32 encounterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to attackers.
+ */
+ function _pushAttackers(bytes32 encounterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from attackers.
+ */
+ function popAttackers(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Pop an element from attackers.
+ */
+ function _popAttackers(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Update an element of attackers at `_index`.
+ */
+ function updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of attackers at `_index`.
+ */
+ function _updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 encounterId) internal view returns (CombatEncounterData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 encounterId) internal view returns (CombatEncounterData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bytes32 encounterId,
+ EncounterType encounterType,
+ uint256 start,
+ uint256 end,
+ uint256 currentTurn,
+ uint256 maxTurns,
+ bytes32[] memory defenders,
+ bytes32[] memory attackers
+ ) internal {
+ bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
+
+ EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
+ bytes memory _dynamicData = encodeDynamic(defenders, attackers);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bytes32 encounterId,
+ EncounterType encounterType,
+ uint256 start,
+ uint256 end,
+ uint256 currentTurn,
+ uint256 maxTurns,
+ bytes32[] memory defenders,
+ bytes32[] memory attackers
+ ) internal {
+ bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
+
+ EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
+ bytes memory _dynamicData = encodeDynamic(defenders, attackers);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 encounterId, CombatEncounterData memory _table) internal {
+ bytes memory _staticData =
+ encodeStatic(_table.encounterType, _table.start, _table.end, _table.currentTurn, _table.maxTurns);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.defenders, _table.attackers);
+ bytes memory _dynamicData = encodeDynamic(_table.defenders, _table.attackers);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 encounterId, CombatEncounterData memory _table) internal {
+ bytes memory _staticData =
+ encodeStatic(_table.encounterType, _table.start, _table.end, _table.currentTurn, _table.maxTurns);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.defenders, _table.attackers);
+ bytes memory _dynamicData = encodeDynamic(_table.defenders, _table.attackers);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob)
+ internal
+ pure
+ returns (EncounterType encounterType, uint256 start, uint256 end, uint256 currentTurn, uint256 maxTurns)
+ {
+ encounterType = EncounterType(uint8(Bytes.getBytes1(_blob, 0)));
+
+ start = (uint256(Bytes.getBytes32(_blob, 1)));
+
+ end = (uint256(Bytes.getBytes32(_blob, 33)));
+
+ currentTurn = (uint256(Bytes.getBytes32(_blob, 65)));
+
+ maxTurns = (uint256(Bytes.getBytes32(_blob, 97)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
+ internal
+ pure
+ returns (bytes32[] memory defenders, bytes32[] memory attackers)
+ {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ defenders = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(1);
+ }
+ attackers = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
+ internal
+ pure
+ returns (CombatEncounterData memory _table)
+ {
+ (_table.encounterType, _table.start, _table.end, _table.currentTurn, _table.maxTurns) =
+ decodeStatic(_staticData);
+
+ (_table.defenders, _table.attackers) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ EncounterType encounterType,
+ uint256 start,
+ uint256 end,
+ uint256 currentTurn,
+ uint256 maxTurns
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(encounterType, start, end, currentTurn, maxTurns);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes32[] memory defenders, bytes32[] memory attackers)
+ internal
+ pure
+ returns (EncodedLengths _encodedLengths)
+ {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(defenders.length * 32, attackers.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes32[] memory defenders, bytes32[] memory attackers)
+ internal
+ pure
+ returns (bytes memory)
+ {
+ return abi.encodePacked(EncodeArray.encode((defenders)), EncodeArray.encode((attackers)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ EncounterType encounterType,
+ uint256 start,
+ uint256 end,
+ uint256 currentTurn,
+ uint256 maxTurns,
+ bytes32[] memory defenders,
+ bytes32[] memory attackers
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
+
+ EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
+ bytes memory _dynamicData = encodeDynamic(defenders, attackers);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 encounterId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Counters.sol b/packages/contracts/src/codegen/tables/Counters.sol
index abd943ab4..5b281e079 100644
--- a/packages/contracts/src/codegen/tables/Counters.sol
+++ b/packages/contracts/src/codegen/tables/Counters.sol
@@ -4,208 +4,208 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library Counters {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Counters", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000436f756e746572730000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (address, uint256)
- Schema constant _keySchema = Schema.wrap(0x00340200611f0000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256)
- Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](2);
- keyNames[0] = "contractAddress";
- keyNames[1] = "mobId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "counter";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get counter.
- */
- function getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get counter.
- */
- function _getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get counter.
- */
- function get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get counter.
- */
- function _get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set counter.
- */
- function setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
- }
-
- /**
- * @notice Set counter.
- */
- function _setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
- }
-
- /**
- * @notice Set counter.
- */
- function set(address contractAddress, uint256 mobId, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
- }
-
- /**
- * @notice Set counter.
- */
- function _set(address contractAddress, uint256 mobId, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(address contractAddress, uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(address contractAddress, uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint256 counter) internal pure returns (bytes memory) {
- return abi.encodePacked(counter);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint256 counter) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(counter);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(address contractAddress, uint256 mobId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Counters", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000436f756e746572730000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (address, uint256)
+ Schema constant _keySchema = Schema.wrap(0x00340200611f0000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256)
+ Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](2);
+ keyNames[0] = "contractAddress";
+ keyNames[1] = "mobId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "counter";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get counter.
+ */
+ function getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get counter.
+ */
+ function _getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get counter.
+ */
+ function get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get counter.
+ */
+ function _get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set counter.
+ */
+ function setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set counter.
+ */
+ function _setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set counter.
+ */
+ function set(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set counter.
+ */
+ function _set(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(address contractAddress, uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(address contractAddress, uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint256 counter) internal pure returns (bytes memory) {
+ return abi.encodePacked(counter);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint256 counter) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(counter);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(address contractAddress, uint256 mobId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol b/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
index ddeea86fd..24dd9c423 100644
--- a/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
+++ b/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
@@ -4,478 +4,484 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library EntitiesAtPosition {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "EntitiesAtPositi", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000456e7469746965734174506f73697469);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint16, uint16)
- Schema constant _keySchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bytes32[])
- Schema constant _valueSchema = Schema.wrap(0x00000001c1000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](2);
- keyNames[0] = "x";
- keyNames[1] = "y";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "entities";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get entities.
- */
- function getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get entities.
- */
- function _getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get entities.
- */
- function get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get entities.
- */
- function _get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Set entities.
- */
- function setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Set entities.
- */
- function _setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Set entities.
- */
- function set(uint16 x, uint16 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Set entities.
- */
- function _set(uint16 x, uint16 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Get the length of entities.
- */
- function lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of entities.
- */
- function _lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of entities.
- */
- function length(uint16 x, uint16 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of entities.
- */
- function _length(uint16 x, uint16 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of entities.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of entities.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of entities.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of entities.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Push an element to entities.
- */
- function pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to entities.
- */
- function _pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to entities.
- */
- function push(uint16 x, uint16 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to entities.
- */
- function _push(uint16 x, uint16 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from entities.
- */
- function popEntities(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from entities.
- */
- function _popEntities(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from entities.
- */
- function pop(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from entities.
- */
- function _pop(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of entities at `_index`.
- */
- function updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of entities at `_index`.
- */
- function _updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of entities at `_index`.
- */
- function update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of entities at `_index`.
- */
- function _update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes32[] memory entities) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(entities.length * 32);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes32[] memory entities) internal pure returns (bytes memory) {
- return abi.encodePacked(EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bytes32[] memory entities) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(entities);
- bytes memory _dynamicData = encodeDynamic(entities);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint16 x, uint16 y) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "EntitiesAtPositi", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000456e7469746965734174506f73697469);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint16, uint16)
+ Schema constant _keySchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x00000001c1000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](2);
+ keyNames[0] = "x";
+ keyNames[1] = "y";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "entities";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function _getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function _get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function _setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function set(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function _set(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function _lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function length(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function _length(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function _pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function push(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function _push(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function popEntities(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function _popEntities(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function pop(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function _pop(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function _updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function _update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes32[] memory entities) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(entities.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes32[] memory entities) internal pure returns (bytes memory) {
+ return abi.encodePacked(EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bytes32[] memory entities) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(entities);
+ bytes memory _dynamicData = encodeDynamic(entities);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint16 x, uint16 y) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Items.sol b/packages/contracts/src/codegen/tables/Items.sol
index d7a85595c..4204a825c 100644
--- a/packages/contracts/src/codegen/tables/Items.sol
+++ b/packages/contracts/src/codegen/tables/Items.sol
@@ -4,522 +4,517 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import { ItemType } from "./../common.sol";
+import {ItemType} from "./../common.sol";
struct ItemsData {
- ItemType itemType;
- uint256 dropChance;
- bytes stats;
+ ItemType itemType;
+ uint256 dropChance;
+ bytes stats;
}
library Items {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Items", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004974656d730000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0021020101200000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, uint256, bytes)
- Schema constant _valueSchema = Schema.wrap(0x00210201001fc400000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "itemId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](3);
- fieldNames[0] = "itemType";
- fieldNames[1] = "dropChance";
- fieldNames[2] = "stats";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get itemType.
- */
- function getItemType(uint256 itemId) internal view returns (ItemType itemType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return ItemType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get itemType.
- */
- function _getItemType(uint256 itemId) internal view returns (ItemType itemType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return ItemType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set itemType.
- */
- function setItemType(uint256 itemId, ItemType itemType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
- }
-
- /**
- * @notice Set itemType.
- */
- function _setItemType(uint256 itemId, ItemType itemType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
- }
-
- /**
- * @notice Get dropChance.
- */
- function getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get dropChance.
- */
- function _getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set dropChance.
- */
- function setDropChance(uint256 itemId, uint256 dropChance) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
- }
-
- /**
- * @notice Set dropChance.
- */
- function _setDropChance(uint256 itemId, uint256 dropChance) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
- }
-
- /**
- * @notice Get stats.
- */
- function getStats(uint256 itemId) internal view returns (bytes memory stats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Get stats.
- */
- function _getStats(uint256 itemId) internal view returns (bytes memory stats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Set stats.
- */
- function setStats(uint256 itemId, bytes memory stats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((stats)));
- }
-
- /**
- * @notice Set stats.
- */
- function _setStats(uint256 itemId, bytes memory stats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((stats)));
- }
-
- /**
- * @notice Get the length of stats.
- */
- function lengthStats(uint256 itemId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of stats.
- */
- function _lengthStats(uint256 itemId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of stats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemStats(uint256 itemId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Get an item of stats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemStats(uint256 itemId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Push a slice to stats.
- */
- function pushStats(uint256 itemId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to stats.
- */
- function _pushStats(uint256 itemId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from stats.
- */
- function popStats(uint256 itemId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from stats.
- */
- function _popStats(uint256 itemId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of stats at `_index`.
- */
- function updateStats(uint256 itemId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of stats at `_index`.
- */
- function _updateStats(uint256 itemId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(uint256 itemId) internal view returns (ItemsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(uint256 itemId) internal view returns (ItemsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
- bytes memory _staticData = encodeStatic(itemType, dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(stats);
- bytes memory _dynamicData = encodeDynamic(stats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
- bytes memory _staticData = encodeStatic(itemType, dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(stats);
- bytes memory _dynamicData = encodeDynamic(stats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(uint256 itemId, ItemsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.stats);
- bytes memory _dynamicData = encodeDynamic(_table.stats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(uint256 itemId, ItemsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.stats);
- bytes memory _dynamicData = encodeDynamic(_table.stats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (ItemType itemType, uint256 dropChance) {
- itemType = ItemType(uint8(Bytes.getBytes1(_blob, 0)));
-
- dropChance = (uint256(Bytes.getBytes32(_blob, 1)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(
- EncodedLengths _encodedLengths,
- bytes memory _blob
- ) internal pure returns (bytes memory stats) {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- stats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths _encodedLengths,
- bytes memory _dynamicData
- ) internal pure returns (ItemsData memory _table) {
- (_table.itemType, _table.dropChance) = decodeStatic(_staticData);
-
- (_table.stats) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 itemId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 itemId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(ItemType itemType, uint256 dropChance) internal pure returns (bytes memory) {
- return abi.encodePacked(itemType, dropChance);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes memory stats) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(stats).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes memory stats) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((stats)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- ItemType itemType,
- uint256 dropChance,
- bytes memory stats
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(itemType, dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(stats);
- bytes memory _dynamicData = encodeDynamic(stats);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 itemId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Items", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004974656d730000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0021020101200000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint256)
+ Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, uint256, bytes)
+ Schema constant _valueSchema = Schema.wrap(0x00210201001fc400000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "itemId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](3);
+ fieldNames[0] = "itemType";
+ fieldNames[1] = "dropChance";
+ fieldNames[2] = "stats";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get itemType.
+ */
+ function getItemType(uint256 itemId) internal view returns (ItemType itemType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return ItemType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get itemType.
+ */
+ function _getItemType(uint256 itemId) internal view returns (ItemType itemType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return ItemType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set itemType.
+ */
+ function setItemType(uint256 itemId, ItemType itemType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set itemType.
+ */
+ function _setItemType(uint256 itemId, ItemType itemType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get dropChance.
+ */
+ function getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get dropChance.
+ */
+ function _getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set dropChance.
+ */
+ function setDropChance(uint256 itemId, uint256 dropChance) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set dropChance.
+ */
+ function _setDropChance(uint256 itemId, uint256 dropChance) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get stats.
+ */
+ function getStats(uint256 itemId) internal view returns (bytes memory stats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get stats.
+ */
+ function _getStats(uint256 itemId) internal view returns (bytes memory stats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set stats.
+ */
+ function setStats(uint256 itemId, bytes memory stats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((stats)));
+ }
+
+ /**
+ * @notice Set stats.
+ */
+ function _setStats(uint256 itemId, bytes memory stats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((stats)));
+ }
+
+ /**
+ * @notice Get the length of stats.
+ */
+ function lengthStats(uint256 itemId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of stats.
+ */
+ function _lengthStats(uint256 itemId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of stats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemStats(uint256 itemId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of stats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemStats(uint256 itemId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to stats.
+ */
+ function pushStats(uint256 itemId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to stats.
+ */
+ function _pushStats(uint256 itemId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from stats.
+ */
+ function popStats(uint256 itemId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from stats.
+ */
+ function _popStats(uint256 itemId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of stats at `_index`.
+ */
+ function updateStats(uint256 itemId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of stats at `_index`.
+ */
+ function _updateStats(uint256 itemId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(uint256 itemId) internal view returns (ItemsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(uint256 itemId) internal view returns (ItemsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(stats);
+ bytes memory _dynamicData = encodeDynamic(stats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(stats);
+ bytes memory _dynamicData = encodeDynamic(stats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(uint256 itemId, ItemsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.stats);
+ bytes memory _dynamicData = encodeDynamic(_table.stats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(uint256 itemId, ItemsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.stats);
+ bytes memory _dynamicData = encodeDynamic(_table.stats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (ItemType itemType, uint256 dropChance) {
+ itemType = ItemType(uint8(Bytes.getBytes1(_blob, 0)));
+
+ dropChance = (uint256(Bytes.getBytes32(_blob, 1)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
+ internal
+ pure
+ returns (bytes memory stats)
+ {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ stats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
+ internal
+ pure
+ returns (ItemsData memory _table)
+ {
+ (_table.itemType, _table.dropChance) = decodeStatic(_staticData);
+
+ (_table.stats) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint256 itemId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint256 itemId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(ItemType itemType, uint256 dropChance) internal pure returns (bytes memory) {
+ return abi.encodePacked(itemType, dropChance);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes memory stats) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(stats).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory stats) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((stats)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(ItemType itemType, uint256 dropChance, bytes memory stats)
+ internal
+ pure
+ returns (bytes memory, EncodedLengths, bytes memory)
+ {
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(stats);
+ bytes memory _dynamicData = encodeDynamic(stats);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint256 itemId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Levels.sol b/packages/contracts/src/codegen/tables/Levels.sol
index 6a2ddb8a1..e41f28a3f 100644
--- a/packages/contracts/src/codegen/tables/Levels.sol
+++ b/packages/contracts/src/codegen/tables/Levels.sol
@@ -4,196 +4,196 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library Levels {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Levels", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004c6576656c7300000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256)
- Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "level";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "experience";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get experience.
- */
- function getExperience(uint256 level) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function _getExperience(uint256 level) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function get(uint256 level) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function _get(uint256 level) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set experience.
- */
- function setExperience(uint256 level, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function _setExperience(uint256 level, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function set(uint256 level, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function _set(uint256 level, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint256 experience) internal pure returns (bytes memory) {
- return abi.encodePacked(experience);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint256 experience) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(experience);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 level) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Levels", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004c6576656c7300000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint256)
+ Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256)
+ Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "level";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "experience";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function getExperience(uint256 level) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function _getExperience(uint256 level) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function get(uint256 level) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function _get(uint256 level) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function setExperience(uint256 level, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function _setExperience(uint256 level, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function set(uint256 level, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function _set(uint256 level, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint256 experience) internal pure returns (bytes memory) {
+ return abi.encodePacked(experience);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint256 experience) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(experience);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint256 level) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/MapConfig.sol b/packages/contracts/src/codegen/tables/MapConfig.sol
index b4ee8307b..ec9b0735d 100644
--- a/packages/contracts/src/codegen/tables/MapConfig.sol
+++ b/packages/contracts/src/codegen/tables/MapConfig.sol
@@ -4,264 +4,258 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library MapConfig {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MapConfig", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6170436f6e66696700000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of ()
- Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint16, uint16)
- Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](0);
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "height";
- fieldNames[1] = "width";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get height.
- */
- function getHeight() internal view returns (uint16 height) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Get height.
- */
- function _getHeight() internal view returns (uint16 height) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Set height.
- */
- function setHeight(uint16 height) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
- }
-
- /**
- * @notice Set height.
- */
- function _setHeight(uint16 height) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
- }
-
- /**
- * @notice Get width.
- */
- function getWidth() internal view returns (uint16 width) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Get width.
- */
- function _getWidth() internal view returns (uint16 width) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Set width.
- */
- function setWidth(uint16 width) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
- }
-
- /**
- * @notice Set width.
- */
- function _setWidth(uint16 width) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get() internal view returns (uint16 height, uint16 width) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get() internal view returns (uint16 height, uint16 width) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint16 height, uint16 width) internal {
- bytes memory _staticData = encodeStatic(height, width);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint16 height, uint16 width) internal {
- bytes memory _staticData = encodeStatic(height, width);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (uint16 height, uint16 width) {
- height = (uint16(Bytes.getBytes2(_blob, 0)));
-
- width = (uint16(Bytes.getBytes2(_blob, 2)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths,
- bytes memory
- ) internal pure returns (uint16 height, uint16 width) {
- (height, width) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord() internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord() internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint16 height, uint16 width) internal pure returns (bytes memory) {
- return abi.encodePacked(height, width);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint16 height, uint16 width) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(height, width);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple() internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MapConfig", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6170436f6e66696700000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of ()
+ Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint16, uint16)
+ Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](0);
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "height";
+ fieldNames[1] = "width";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get height.
+ */
+ function getHeight() internal view returns (uint16 height) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get height.
+ */
+ function _getHeight() internal view returns (uint16 height) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set height.
+ */
+ function setHeight(uint16 height) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set height.
+ */
+ function _setHeight(uint16 height) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get width.
+ */
+ function getWidth() internal view returns (uint16 width) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get width.
+ */
+ function _getWidth() internal view returns (uint16 width) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set width.
+ */
+ function setWidth(uint16 width) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set width.
+ */
+ function _setWidth(uint16 width) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get() internal view returns (uint16 height, uint16 width) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get() internal view returns (uint16 height, uint16 width) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(uint16 height, uint16 width) internal {
+ bytes memory _staticData = encodeStatic(height, width);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(uint16 height, uint16 width) internal {
+ bytes memory _staticData = encodeStatic(height, width);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (uint16 height, uint16 width) {
+ height = (uint16(Bytes.getBytes2(_blob, 0)));
+
+ width = (uint16(Bytes.getBytes2(_blob, 2)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(bytes memory _staticData, EncodedLengths, bytes memory)
+ internal
+ pure
+ returns (uint16 height, uint16 width)
+ {
+ (height, width) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord() internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord() internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint16 height, uint16 width) internal pure returns (bytes memory) {
+ return abi.encodePacked(height, width);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint16 height, uint16 width) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(height, width);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple() internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/MatchEntity.sol b/packages/contracts/src/codegen/tables/MatchEntity.sol
index 7333f9719..098d62179 100644
--- a/packages/contracts/src/codegen/tables/MatchEntity.sol
+++ b/packages/contracts/src/codegen/tables/MatchEntity.sol
@@ -4,318 +4,313 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
struct MatchEntityData {
- bytes32 encounterId;
- int256 damageTaken;
+ bytes32 encounterId;
+ int256 damageTaken;
}
library MatchEntity {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MatchEntity", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d61746368456e746974790000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0040020020200000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bytes32, int256)
- Schema constant _valueSchema = Schema.wrap(0x004002005f3f0000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "matchEntityId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "encounterId";
- fieldNames[1] = "damageTaken";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get encounterId.
- */
- function getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Get encounterId.
- */
- function _getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Set encounterId.
- */
- function setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
- }
-
- /**
- * @notice Set encounterId.
- */
- function _setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
- }
-
- /**
- * @notice Get damageTaken.
- */
- function getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get damageTaken.
- */
- function _getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set damageTaken.
- */
- function setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
- }
-
- /**
- * @notice Set damageTaken.
- */
- function _setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
- bytes memory _staticData = encodeStatic(encounterId, damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
- bytes memory _staticData = encodeStatic(encounterId, damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (bytes32 encounterId, int256 damageTaken) {
- encounterId = (Bytes.getBytes32(_blob, 0));
-
- damageTaken = (int256(uint256(Bytes.getBytes32(_blob, 32))));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths,
- bytes memory
- ) internal pure returns (MatchEntityData memory _table) {
- (_table.encounterId, _table.damageTaken) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 matchEntityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 matchEntityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(bytes32 encounterId, int256 damageTaken) internal pure returns (bytes memory) {
- return abi.encodePacked(encounterId, damageTaken);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- bytes32 encounterId,
- int256 damageTaken
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(encounterId, damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 matchEntityId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MatchEntity", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d61746368456e746974790000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0040020020200000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bytes32, int256)
+ Schema constant _valueSchema = Schema.wrap(0x004002005f3f0000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "matchEntityId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "encounterId";
+ fieldNames[1] = "damageTaken";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get encounterId.
+ */
+ function getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Get encounterId.
+ */
+ function _getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Set encounterId.
+ */
+ function setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set encounterId.
+ */
+ function _setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get damageTaken.
+ */
+ function getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get damageTaken.
+ */
+ function _getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set damageTaken.
+ */
+ function setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set damageTaken.
+ */
+ function _setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (bytes32 encounterId, int256 damageTaken) {
+ encounterId = (Bytes.getBytes32(_blob, 0));
+
+ damageTaken = (int256(uint256(Bytes.getBytes32(_blob, 32))));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(bytes memory _staticData, EncodedLengths, bytes memory)
+ internal
+ pure
+ returns (MatchEntityData memory _table)
+ {
+ (_table.encounterId, _table.damageTaken) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 matchEntityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 matchEntityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bytes32 encounterId, int256 damageTaken) internal pure returns (bytes memory) {
+ return abi.encodePacked(encounterId, damageTaken);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bytes32 encounterId, int256 damageTaken)
+ internal
+ pure
+ returns (bytes memory, EncodedLengths, bytes memory)
+ {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 matchEntityId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Mobs.sol b/packages/contracts/src/codegen/tables/Mobs.sol
index afda1d10e..626993865 100644
--- a/packages/contracts/src/codegen/tables/Mobs.sol
+++ b/packages/contracts/src/codegen/tables/Mobs.sol
@@ -4,649 +4,645 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import { MobType } from "./../common.sol";
+import {MobType} from "./../common.sol";
struct MobsData {
- MobType mobType;
- bytes mobStats;
- string mobMetadata;
+ MobType mobType;
+ bytes mobStats;
+ string mobMetadata;
}
library Mobs {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Mobs", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f6273000000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010201000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, bytes, string)
- Schema constant _valueSchema = Schema.wrap(0x0001010200c4c500000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "mobId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](3);
- fieldNames[0] = "mobType";
- fieldNames[1] = "mobStats";
- fieldNames[2] = "mobMetadata";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get mobType.
- */
- function getMobType(uint256 mobId) internal view returns (MobType mobType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return MobType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get mobType.
- */
- function _getMobType(uint256 mobId) internal view returns (MobType mobType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return MobType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set mobType.
- */
- function setMobType(uint256 mobId, MobType mobType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(mobType)), _fieldLayout);
- }
-
- /**
- * @notice Set mobType.
- */
- function _setMobType(uint256 mobId, MobType mobType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(mobType)), _fieldLayout);
- }
-
- /**
- * @notice Get mobStats.
- */
- function getMobStats(uint256 mobId) internal view returns (bytes memory mobStats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Get mobStats.
- */
- function _getMobStats(uint256 mobId) internal view returns (bytes memory mobStats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Set mobStats.
- */
- function setMobStats(uint256 mobId, bytes memory mobStats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((mobStats)));
- }
-
- /**
- * @notice Set mobStats.
- */
- function _setMobStats(uint256 mobId, bytes memory mobStats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((mobStats)));
- }
-
- /**
- * @notice Get the length of mobStats.
- */
- function lengthMobStats(uint256 mobId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of mobStats.
- */
- function _lengthMobStats(uint256 mobId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of mobStats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemMobStats(uint256 mobId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Get an item of mobStats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemMobStats(uint256 mobId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Push a slice to mobStats.
- */
- function pushMobStats(uint256 mobId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to mobStats.
- */
- function _pushMobStats(uint256 mobId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from mobStats.
- */
- function popMobStats(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from mobStats.
- */
- function _popMobStats(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of mobStats at `_index`.
- */
- function updateMobStats(uint256 mobId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of mobStats at `_index`.
- */
- function _updateMobStats(uint256 mobId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get mobMetadata.
- */
- function getMobMetadata(uint256 mobId) internal view returns (string memory mobMetadata) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (string(_blob));
- }
-
- /**
- * @notice Get mobMetadata.
- */
- function _getMobMetadata(uint256 mobId) internal view returns (string memory mobMetadata) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (string(_blob));
- }
-
- /**
- * @notice Set mobMetadata.
- */
- function setMobMetadata(uint256 mobId, string memory mobMetadata) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, bytes((mobMetadata)));
- }
-
- /**
- * @notice Set mobMetadata.
- */
- function _setMobMetadata(uint256 mobId, string memory mobMetadata) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 1, bytes((mobMetadata)));
- }
-
- /**
- * @notice Get the length of mobMetadata.
- */
- function lengthMobMetadata(uint256 mobId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of mobMetadata.
- */
- function _lengthMobMetadata(uint256 mobId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of mobMetadata.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemMobMetadata(uint256 mobId, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Get an item of mobMetadata.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemMobMetadata(uint256 mobId, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Push a slice to mobMetadata.
- */
- function pushMobMetadata(uint256 mobId, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to mobMetadata.
- */
- function _pushMobMetadata(uint256 mobId, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from mobMetadata.
- */
- function popMobMetadata(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 1);
- }
-
- /**
- * @notice Pop a slice from mobMetadata.
- */
- function _popMobMetadata(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 1);
- }
-
- /**
- * @notice Update a slice of mobMetadata at `_index`.
- */
- function updateMobMetadata(uint256 mobId, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of mobMetadata at `_index`.
- */
- function _updateMobMetadata(uint256 mobId, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(uint256 mobId) internal view returns (MobsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(uint256 mobId) internal view returns (MobsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint256 mobId, MobType mobType, bytes memory mobStats, string memory mobMetadata) internal {
- bytes memory _staticData = encodeStatic(mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
- bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint256 mobId, MobType mobType, bytes memory mobStats, string memory mobMetadata) internal {
- bytes memory _staticData = encodeStatic(mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
- bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(uint256 mobId, MobsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.mobStats, _table.mobMetadata);
- bytes memory _dynamicData = encodeDynamic(_table.mobStats, _table.mobMetadata);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(uint256 mobId, MobsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.mobStats, _table.mobMetadata);
- bytes memory _dynamicData = encodeDynamic(_table.mobStats, _table.mobMetadata);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (MobType mobType) {
- mobType = MobType(uint8(Bytes.getBytes1(_blob, 0)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(
- EncodedLengths _encodedLengths,
- bytes memory _blob
- ) internal pure returns (bytes memory mobStats, string memory mobMetadata) {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- mobStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(1);
- }
- mobMetadata = (string(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths _encodedLengths,
- bytes memory _dynamicData
- ) internal pure returns (MobsData memory _table) {
- (_table.mobType) = decodeStatic(_staticData);
-
- (_table.mobStats, _table.mobMetadata) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(MobType mobType) internal pure returns (bytes memory) {
- return abi.encodePacked(mobType);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(
- bytes memory mobStats,
- string memory mobMetadata
- ) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(mobStats).length, bytes(mobMetadata).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes memory mobStats, string memory mobMetadata) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((mobStats)), bytes((mobMetadata)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- MobType mobType,
- bytes memory mobStats,
- string memory mobMetadata
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
- bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 mobId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Mobs", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f6273000000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010201000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint256)
+ Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, bytes, string)
+ Schema constant _valueSchema = Schema.wrap(0x0001010200c4c500000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "mobId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](3);
+ fieldNames[0] = "mobType";
+ fieldNames[1] = "mobStats";
+ fieldNames[2] = "mobMetadata";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get mobType.
+ */
+ function getMobType(uint256 mobId) internal view returns (MobType mobType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return MobType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get mobType.
+ */
+ function _getMobType(uint256 mobId) internal view returns (MobType mobType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return MobType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set mobType.
+ */
+ function setMobType(uint256 mobId, MobType mobType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(mobType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set mobType.
+ */
+ function _setMobType(uint256 mobId, MobType mobType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(mobType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get mobStats.
+ */
+ function getMobStats(uint256 mobId) internal view returns (bytes memory mobStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get mobStats.
+ */
+ function _getMobStats(uint256 mobId) internal view returns (bytes memory mobStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set mobStats.
+ */
+ function setMobStats(uint256 mobId, bytes memory mobStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((mobStats)));
+ }
+
+ /**
+ * @notice Set mobStats.
+ */
+ function _setMobStats(uint256 mobId, bytes memory mobStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((mobStats)));
+ }
+
+ /**
+ * @notice Get the length of mobStats.
+ */
+ function lengthMobStats(uint256 mobId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobStats.
+ */
+ function _lengthMobStats(uint256 mobId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of mobStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemMobStats(uint256 mobId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemMobStats(uint256 mobId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to mobStats.
+ */
+ function pushMobStats(uint256 mobId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to mobStats.
+ */
+ function _pushMobStats(uint256 mobId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from mobStats.
+ */
+ function popMobStats(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from mobStats.
+ */
+ function _popMobStats(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of mobStats at `_index`.
+ */
+ function updateMobStats(uint256 mobId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of mobStats at `_index`.
+ */
+ function _updateMobStats(uint256 mobId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get mobMetadata.
+ */
+ function getMobMetadata(uint256 mobId) internal view returns (string memory mobMetadata) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Get mobMetadata.
+ */
+ function _getMobMetadata(uint256 mobId) internal view returns (string memory mobMetadata) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Set mobMetadata.
+ */
+ function setMobMetadata(uint256 mobId, string memory mobMetadata) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, bytes((mobMetadata)));
+ }
+
+ /**
+ * @notice Set mobMetadata.
+ */
+ function _setMobMetadata(uint256 mobId, string memory mobMetadata) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 1, bytes((mobMetadata)));
+ }
+
+ /**
+ * @notice Get the length of mobMetadata.
+ */
+ function lengthMobMetadata(uint256 mobId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobMetadata.
+ */
+ function _lengthMobMetadata(uint256 mobId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of mobMetadata.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemMobMetadata(uint256 mobId, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobMetadata.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemMobMetadata(uint256 mobId, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to mobMetadata.
+ */
+ function pushMobMetadata(uint256 mobId, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to mobMetadata.
+ */
+ function _pushMobMetadata(uint256 mobId, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from mobMetadata.
+ */
+ function popMobMetadata(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 1);
+ }
+
+ /**
+ * @notice Pop a slice from mobMetadata.
+ */
+ function _popMobMetadata(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 1);
+ }
+
+ /**
+ * @notice Update a slice of mobMetadata at `_index`.
+ */
+ function updateMobMetadata(uint256 mobId, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of mobMetadata at `_index`.
+ */
+ function _updateMobMetadata(uint256 mobId, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(uint256 mobId) internal view returns (MobsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(uint256 mobId) internal view returns (MobsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(uint256 mobId, MobType mobType, bytes memory mobStats, string memory mobMetadata) internal {
+ bytes memory _staticData = encodeStatic(mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(uint256 mobId, MobType mobType, bytes memory mobStats, string memory mobMetadata) internal {
+ bytes memory _staticData = encodeStatic(mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(uint256 mobId, MobsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.mobStats, _table.mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(_table.mobStats, _table.mobMetadata);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(uint256 mobId, MobsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.mobStats, _table.mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(_table.mobStats, _table.mobMetadata);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (MobType mobType) {
+ mobType = MobType(uint8(Bytes.getBytes1(_blob, 0)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
+ internal
+ pure
+ returns (bytes memory mobStats, string memory mobMetadata)
+ {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ mobStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(1);
+ }
+ mobMetadata = (string(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
+ internal
+ pure
+ returns (MobsData memory _table)
+ {
+ (_table.mobType) = decodeStatic(_staticData);
+
+ (_table.mobStats, _table.mobMetadata) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(MobType mobType) internal pure returns (bytes memory) {
+ return abi.encodePacked(mobType);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes memory mobStats, string memory mobMetadata)
+ internal
+ pure
+ returns (EncodedLengths _encodedLengths)
+ {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(mobStats).length, bytes(mobMetadata).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory mobStats, string memory mobMetadata) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((mobStats)), bytes((mobMetadata)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(MobType mobType, bytes memory mobStats, string memory mobMetadata)
+ internal
+ pure
+ returns (bytes memory, EncodedLengths, bytes memory)
+ {
+ bytes memory _staticData = encodeStatic(mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint256 mobId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/MobsByLevel.sol b/packages/contracts/src/codegen/tables/MobsByLevel.sol
index 8a401ad46..9e3405e43 100644
--- a/packages/contracts/src/codegen/tables/MobsByLevel.sol
+++ b/packages/contracts/src/codegen/tables/MobsByLevel.sol
@@ -4,446 +4,452 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library MobsByLevel {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MobsByLevel", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f627342794c6576656c0000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256[])
- Schema constant _valueSchema = Schema.wrap(0x0000000181000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "level";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "mobIds";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get mobIds.
- */
- function getMobIds(uint256 level) internal view returns (uint256[] memory mobIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get mobIds.
- */
- function _getMobIds(uint256 level) internal view returns (uint256[] memory mobIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get mobIds.
- */
- function get(uint256 level) internal view returns (uint256[] memory mobIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get mobIds.
- */
- function _get(uint256 level) internal view returns (uint256[] memory mobIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set mobIds.
- */
- function setMobIds(uint256 level, uint256[] memory mobIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Set mobIds.
- */
- function _setMobIds(uint256 level, uint256[] memory mobIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Set mobIds.
- */
- function set(uint256 level, uint256[] memory mobIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Set mobIds.
- */
- function _set(uint256 level, uint256[] memory mobIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Get the length of mobIds.
- */
- function lengthMobIds(uint256 level) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of mobIds.
- */
- function _lengthMobIds(uint256 level) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of mobIds.
- */
- function length(uint256 level) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of mobIds.
- */
- function _length(uint256 level) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of mobIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemMobIds(uint256 level, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of mobIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemMobIds(uint256 level, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of mobIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItem(uint256 level, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of mobIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItem(uint256 level, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to mobIds.
- */
- function pushMobIds(uint256 level, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to mobIds.
- */
- function _pushMobIds(uint256 level, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to mobIds.
- */
- function push(uint256 level, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to mobIds.
- */
- function _push(uint256 level, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from mobIds.
- */
- function popMobIds(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from mobIds.
- */
- function _popMobIds(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from mobIds.
- */
- function pop(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from mobIds.
- */
- function _pop(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of mobIds at `_index`.
- */
- function updateMobIds(uint256 level, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of mobIds at `_index`.
- */
- function _updateMobIds(uint256 level, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of mobIds at `_index`.
- */
- function update(uint256 level, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of mobIds at `_index`.
- */
- function _update(uint256 level, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(uint256[] memory mobIds) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(mobIds.length * 32);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(uint256[] memory mobIds) internal pure returns (bytes memory) {
- return abi.encodePacked(EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint256[] memory mobIds) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(mobIds);
- bytes memory _dynamicData = encodeDynamic(mobIds);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 level) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MobsByLevel", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f627342794c6576656c0000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint256)
+ Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256[])
+ Schema constant _valueSchema = Schema.wrap(0x0000000181000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "level";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "mobIds";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get mobIds.
+ */
+ function getMobIds(uint256 level) internal view returns (uint256[] memory mobIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get mobIds.
+ */
+ function _getMobIds(uint256 level) internal view returns (uint256[] memory mobIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get mobIds.
+ */
+ function get(uint256 level) internal view returns (uint256[] memory mobIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get mobIds.
+ */
+ function _get(uint256 level) internal view returns (uint256[] memory mobIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set mobIds.
+ */
+ function setMobIds(uint256 level, uint256[] memory mobIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Set mobIds.
+ */
+ function _setMobIds(uint256 level, uint256[] memory mobIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Set mobIds.
+ */
+ function set(uint256 level, uint256[] memory mobIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Set mobIds.
+ */
+ function _set(uint256 level, uint256[] memory mobIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Get the length of mobIds.
+ */
+ function lengthMobIds(uint256 level) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobIds.
+ */
+ function _lengthMobIds(uint256 level) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobIds.
+ */
+ function length(uint256 level) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobIds.
+ */
+ function _length(uint256 level) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of mobIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemMobIds(uint256 level, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemMobIds(uint256 level, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItem(uint256 level, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItem(uint256 level, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to mobIds.
+ */
+ function pushMobIds(uint256 level, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to mobIds.
+ */
+ function _pushMobIds(uint256 level, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to mobIds.
+ */
+ function push(uint256 level, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to mobIds.
+ */
+ function _push(uint256 level, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from mobIds.
+ */
+ function popMobIds(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from mobIds.
+ */
+ function _popMobIds(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from mobIds.
+ */
+ function pop(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from mobIds.
+ */
+ function _pop(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of mobIds at `_index`.
+ */
+ function updateMobIds(uint256 level, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of mobIds at `_index`.
+ */
+ function _updateMobIds(uint256 level, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of mobIds at `_index`.
+ */
+ function update(uint256 level, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of mobIds at `_index`.
+ */
+ function _update(uint256 level, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(uint256[] memory mobIds) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(mobIds.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(uint256[] memory mobIds) internal pure returns (bytes memory) {
+ return abi.encodePacked(EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint256[] memory mobIds) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(mobIds);
+ bytes memory _dynamicData = encodeDynamic(mobIds);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint256 level) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Name.sol b/packages/contracts/src/codegen/tables/Name.sol
index 457c9c4bd..567382000 100644
--- a/packages/contracts/src/codegen/tables/Name.sol
+++ b/packages/contracts/src/codegen/tables/Name.sol
@@ -4,446 +4,446 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library Name {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Name", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004e616d65000000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (string)
- Schema constant _valueSchema = Schema.wrap(0x00000001c5000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "id";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "value";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get value.
- */
- function getValue(bytes32 id) internal view returns (string memory value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (string(_blob));
- }
-
- /**
- * @notice Get value.
- */
- function _getValue(bytes32 id) internal view returns (string memory value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (string(_blob));
- }
-
- /**
- * @notice Get value.
- */
- function get(bytes32 id) internal view returns (string memory value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (string(_blob));
- }
-
- /**
- * @notice Get value.
- */
- function _get(bytes32 id) internal view returns (string memory value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (string(_blob));
- }
-
- /**
- * @notice Set value.
- */
- function setValue(bytes32 id, string memory value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
- }
-
- /**
- * @notice Set value.
- */
- function _setValue(bytes32 id, string memory value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
- }
-
- /**
- * @notice Set value.
- */
- function set(bytes32 id, string memory value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
- }
-
- /**
- * @notice Set value.
- */
- function _set(bytes32 id, string memory value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
- }
-
- /**
- * @notice Get the length of value.
- */
- function lengthValue(bytes32 id) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of value.
- */
- function _lengthValue(bytes32 id) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of value.
- */
- function length(bytes32 id) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of value.
- */
- function _length(bytes32 id) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of value.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemValue(bytes32 id, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Get an item of value.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemValue(bytes32 id, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Get an item of value.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItem(bytes32 id, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Get an item of value.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItem(bytes32 id, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Push a slice to value.
- */
- function pushValue(bytes32 id, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to value.
- */
- function _pushValue(bytes32 id, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to value.
- */
- function push(bytes32 id, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to value.
- */
- function _push(bytes32 id, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from value.
- */
- function popValue(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from value.
- */
- function _popValue(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from value.
- */
- function pop(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from value.
- */
- function _pop(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of value at `_index`.
- */
- function updateValue(bytes32 id, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of value at `_index`.
- */
- function _updateValue(bytes32 id, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of value at `_index`.
- */
- function update(bytes32 id, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of value at `_index`.
- */
- function _update(bytes32 id, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(string memory value) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(value).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(string memory value) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((value)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(string memory value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(value);
- bytes memory _dynamicData = encodeDynamic(value);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 id) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Name", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004e616d65000000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (string)
+ Schema constant _valueSchema = Schema.wrap(0x00000001c5000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "id";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "value";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function getValue(bytes32 id) internal view returns (string memory value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _getValue(bytes32 id) internal view returns (string memory value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function get(bytes32 id) internal view returns (string memory value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _get(bytes32 id) internal view returns (string memory value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function setValue(bytes32 id, string memory value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _setValue(bytes32 id, string memory value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function set(bytes32 id, string memory value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _set(bytes32 id, string memory value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
+ }
+
+ /**
+ * @notice Get the length of value.
+ */
+ function lengthValue(bytes32 id) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of value.
+ */
+ function _lengthValue(bytes32 id) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of value.
+ */
+ function length(bytes32 id) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of value.
+ */
+ function _length(bytes32 id) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of value.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemValue(bytes32 id, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of value.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemValue(bytes32 id, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of value.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItem(bytes32 id, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of value.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItem(bytes32 id, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to value.
+ */
+ function pushValue(bytes32 id, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to value.
+ */
+ function _pushValue(bytes32 id, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to value.
+ */
+ function push(bytes32 id, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to value.
+ */
+ function _push(bytes32 id, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from value.
+ */
+ function popValue(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from value.
+ */
+ function _popValue(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from value.
+ */
+ function pop(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from value.
+ */
+ function _pop(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of value at `_index`.
+ */
+ function updateValue(bytes32 id, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of value at `_index`.
+ */
+ function _updateValue(bytes32 id, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of value at `_index`.
+ */
+ function update(bytes32 id, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of value at `_index`.
+ */
+ function _update(bytes32 id, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(string memory value) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(value).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(string memory value) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((value)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(string memory value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(value);
+ bytes memory _dynamicData = encodeDynamic(value);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 id) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/NameExists.sol b/packages/contracts/src/codegen/tables/NameExists.sol
index ff68229ed..d73781b26 100644
--- a/packages/contracts/src/codegen/tables/NameExists.sol
+++ b/packages/contracts/src/codegen/tables/NameExists.sol
@@ -4,198 +4,198 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library NameExists {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "NameExists", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004e616d65457869737473000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool)
- Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "nameData";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "value";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get value.
- */
- function getValue(bytes32 nameData) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function _getValue(bytes32 nameData) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function get(bytes32 nameData) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function _get(bytes32 nameData) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set value.
- */
- function setValue(bytes32 nameData, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function _setValue(bytes32 nameData, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function set(bytes32 nameData, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function _set(bytes32 nameData, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 nameData) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 nameData) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(bool value) internal pure returns (bytes memory) {
- return abi.encodePacked(value);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bool value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(value);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 nameData) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "NameExists", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004e616d65457869737473000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool)
+ Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "nameData";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "value";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function getValue(bytes32 nameData) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _getValue(bytes32 nameData) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function get(bytes32 nameData) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _get(bytes32 nameData) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function setValue(bytes32 nameData, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _setValue(bytes32 nameData, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function set(bytes32 nameData, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _set(bytes32 nameData, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 nameData) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 nameData) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bool value) internal pure returns (bytes memory) {
+ return abi.encodePacked(value);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bool value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(value);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 nameData) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ return _keyTuple;
+ }
}
/**
@@ -205,7 +205,7 @@ library NameExists {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Position.sol b/packages/contracts/src/codegen/tables/Position.sol
index 67bcacf09..632db1f04 100644
--- a/packages/contracts/src/codegen/tables/Position.sol
+++ b/packages/contracts/src/codegen/tables/Position.sol
@@ -4,276 +4,274 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library Position {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Position", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000506f736974696f6e0000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint16, uint16)
- Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "entity";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "x";
- fieldNames[1] = "y";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get x.
- */
- function getX(bytes32 entity) internal view returns (uint16 x) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Get x.
- */
- function _getX(bytes32 entity) internal view returns (uint16 x) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Set x.
- */
- function setX(bytes32 entity, uint16 x) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
- }
-
- /**
- * @notice Set x.
- */
- function _setX(bytes32 entity, uint16 x) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
- }
-
- /**
- * @notice Get y.
- */
- function getY(bytes32 entity) internal view returns (uint16 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Get y.
- */
- function _getY(bytes32 entity) internal view returns (uint16 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Set y.
- */
- function setY(bytes32 entity, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
- }
-
- /**
- * @notice Set y.
- */
- function _setY(bytes32 entity, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 entity, uint16 x, uint16 y) internal {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 entity, uint16 x, uint16 y) internal {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (uint16 x, uint16 y) {
- x = (uint16(Bytes.getBytes2(_blob, 0)));
-
- y = (uint16(Bytes.getBytes2(_blob, 2)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(bytes memory _staticData, EncodedLengths, bytes memory) internal pure returns (uint16 x, uint16 y) {
- (x, y) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 entity) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 entity) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint16 x, uint16 y) internal pure returns (bytes memory) {
- return abi.encodePacked(x, y);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint16 x, uint16 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 entity) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Position", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000506f736974696f6e0000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint16, uint16)
+ Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "entity";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "x";
+ fieldNames[1] = "y";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get x.
+ */
+ function getX(bytes32 entity) internal view returns (uint16 x) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get x.
+ */
+ function _getX(bytes32 entity) internal view returns (uint16 x) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set x.
+ */
+ function setX(bytes32 entity, uint16 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set x.
+ */
+ function _setX(bytes32 entity, uint16 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get y.
+ */
+ function getY(bytes32 entity) internal view returns (uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get y.
+ */
+ function _getY(bytes32 entity) internal view returns (uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set y.
+ */
+ function setY(bytes32 entity, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set y.
+ */
+ function _setY(bytes32 entity, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 entity, uint16 x, uint16 y) internal {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 entity, uint16 x, uint16 y) internal {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (uint16 x, uint16 y) {
+ x = (uint16(Bytes.getBytes2(_blob, 0)));
+
+ y = (uint16(Bytes.getBytes2(_blob, 2)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(bytes memory _staticData, EncodedLengths, bytes memory)
+ internal
+ pure
+ returns (uint16 x, uint16 y)
+ {
+ (x, y) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint16 x, uint16 y) internal pure returns (bytes memory) {
+ return abi.encodePacked(x, y);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint16 x, uint16 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 entity) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/RandomNumbers.sol b/packages/contracts/src/codegen/tables/RandomNumbers.sol
index 82c210a9c..4b24b193f 100644
--- a/packages/contracts/src/codegen/tables/RandomNumbers.sol
+++ b/packages/contracts/src/codegen/tables/RandomNumbers.sol
@@ -4,475 +4,471 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import { RngRequestType } from "./../common.sol";
+import {RngRequestType} from "./../common.sol";
struct RandomNumbersData {
- RngRequestType RequestType;
- bytes arbitraryData;
+ RngRequestType RequestType;
+ bytes arbitraryData;
}
library RandomNumbers {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "RandomNumbers", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000052616e646f6d4e756d62657273000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint64)
- Schema constant _keySchema = Schema.wrap(0x0008010007000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, bytes)
- Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "sequenceNumber";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "RequestType";
- fieldNames[1] = "arbitraryData";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get RequestType.
- */
- function getRequestType(uint64 sequenceNumber) internal view returns (RngRequestType RequestType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return RngRequestType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get RequestType.
- */
- function _getRequestType(uint64 sequenceNumber) internal view returns (RngRequestType RequestType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return RngRequestType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set RequestType.
- */
- function setRequestType(uint64 sequenceNumber, RngRequestType RequestType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(RequestType)), _fieldLayout);
- }
-
- /**
- * @notice Set RequestType.
- */
- function _setRequestType(uint64 sequenceNumber, RngRequestType RequestType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(RequestType)), _fieldLayout);
- }
-
- /**
- * @notice Get arbitraryData.
- */
- function getArbitraryData(uint64 sequenceNumber) internal view returns (bytes memory arbitraryData) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Get arbitraryData.
- */
- function _getArbitraryData(uint64 sequenceNumber) internal view returns (bytes memory arbitraryData) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Set arbitraryData.
- */
- function setArbitraryData(uint64 sequenceNumber, bytes memory arbitraryData) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((arbitraryData)));
- }
-
- /**
- * @notice Set arbitraryData.
- */
- function _setArbitraryData(uint64 sequenceNumber, bytes memory arbitraryData) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((arbitraryData)));
- }
-
- /**
- * @notice Get the length of arbitraryData.
- */
- function lengthArbitraryData(uint64 sequenceNumber) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of arbitraryData.
- */
- function _lengthArbitraryData(uint64 sequenceNumber) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of arbitraryData.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemArbitraryData(uint64 sequenceNumber, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Get an item of arbitraryData.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemArbitraryData(uint64 sequenceNumber, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Push a slice to arbitraryData.
- */
- function pushArbitraryData(uint64 sequenceNumber, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to arbitraryData.
- */
- function _pushArbitraryData(uint64 sequenceNumber, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from arbitraryData.
- */
- function popArbitraryData(uint64 sequenceNumber) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from arbitraryData.
- */
- function _popArbitraryData(uint64 sequenceNumber) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of arbitraryData at `_index`.
- */
- function updateArbitraryData(uint64 sequenceNumber, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of arbitraryData at `_index`.
- */
- function _updateArbitraryData(uint64 sequenceNumber, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(uint64 sequenceNumber) internal view returns (RandomNumbersData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(uint64 sequenceNumber) internal view returns (RandomNumbersData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint64 sequenceNumber, RngRequestType RequestType, bytes memory arbitraryData) internal {
- bytes memory _staticData = encodeStatic(RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
- bytes memory _dynamicData = encodeDynamic(arbitraryData);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint64 sequenceNumber, RngRequestType RequestType, bytes memory arbitraryData) internal {
- bytes memory _staticData = encodeStatic(RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
- bytes memory _dynamicData = encodeDynamic(arbitraryData);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(uint64 sequenceNumber, RandomNumbersData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.arbitraryData);
- bytes memory _dynamicData = encodeDynamic(_table.arbitraryData);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(uint64 sequenceNumber, RandomNumbersData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.arbitraryData);
- bytes memory _dynamicData = encodeDynamic(_table.arbitraryData);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (RngRequestType RequestType) {
- RequestType = RngRequestType(uint8(Bytes.getBytes1(_blob, 0)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(
- EncodedLengths _encodedLengths,
- bytes memory _blob
- ) internal pure returns (bytes memory arbitraryData) {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- arbitraryData = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths _encodedLengths,
- bytes memory _dynamicData
- ) internal pure returns (RandomNumbersData memory _table) {
- (_table.RequestType) = decodeStatic(_staticData);
-
- (_table.arbitraryData) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint64 sequenceNumber) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint64 sequenceNumber) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(RngRequestType RequestType) internal pure returns (bytes memory) {
- return abi.encodePacked(RequestType);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes memory arbitraryData) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(arbitraryData).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes memory arbitraryData) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((arbitraryData)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- RngRequestType RequestType,
- bytes memory arbitraryData
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
- bytes memory _dynamicData = encodeDynamic(arbitraryData);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint64 sequenceNumber) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "RandomNumbers", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000052616e646f6d4e756d62657273000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint64)
+ Schema constant _keySchema = Schema.wrap(0x0008010007000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, bytes)
+ Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "sequenceNumber";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "RequestType";
+ fieldNames[1] = "arbitraryData";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get RequestType.
+ */
+ function getRequestType(uint64 sequenceNumber) internal view returns (RngRequestType RequestType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return RngRequestType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get RequestType.
+ */
+ function _getRequestType(uint64 sequenceNumber) internal view returns (RngRequestType RequestType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return RngRequestType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set RequestType.
+ */
+ function setRequestType(uint64 sequenceNumber, RngRequestType RequestType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(RequestType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set RequestType.
+ */
+ function _setRequestType(uint64 sequenceNumber, RngRequestType RequestType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(RequestType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get arbitraryData.
+ */
+ function getArbitraryData(uint64 sequenceNumber) internal view returns (bytes memory arbitraryData) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get arbitraryData.
+ */
+ function _getArbitraryData(uint64 sequenceNumber) internal view returns (bytes memory arbitraryData) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set arbitraryData.
+ */
+ function setArbitraryData(uint64 sequenceNumber, bytes memory arbitraryData) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((arbitraryData)));
+ }
+
+ /**
+ * @notice Set arbitraryData.
+ */
+ function _setArbitraryData(uint64 sequenceNumber, bytes memory arbitraryData) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((arbitraryData)));
+ }
+
+ /**
+ * @notice Get the length of arbitraryData.
+ */
+ function lengthArbitraryData(uint64 sequenceNumber) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of arbitraryData.
+ */
+ function _lengthArbitraryData(uint64 sequenceNumber) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of arbitraryData.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemArbitraryData(uint64 sequenceNumber, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of arbitraryData.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemArbitraryData(uint64 sequenceNumber, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to arbitraryData.
+ */
+ function pushArbitraryData(uint64 sequenceNumber, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to arbitraryData.
+ */
+ function _pushArbitraryData(uint64 sequenceNumber, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from arbitraryData.
+ */
+ function popArbitraryData(uint64 sequenceNumber) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from arbitraryData.
+ */
+ function _popArbitraryData(uint64 sequenceNumber) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of arbitraryData at `_index`.
+ */
+ function updateArbitraryData(uint64 sequenceNumber, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of arbitraryData at `_index`.
+ */
+ function _updateArbitraryData(uint64 sequenceNumber, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(uint64 sequenceNumber) internal view returns (RandomNumbersData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(uint64 sequenceNumber) internal view returns (RandomNumbersData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(uint64 sequenceNumber, RngRequestType RequestType, bytes memory arbitraryData) internal {
+ bytes memory _staticData = encodeStatic(RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(arbitraryData);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(uint64 sequenceNumber, RngRequestType RequestType, bytes memory arbitraryData) internal {
+ bytes memory _staticData = encodeStatic(RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(arbitraryData);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(uint64 sequenceNumber, RandomNumbersData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(_table.arbitraryData);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(uint64 sequenceNumber, RandomNumbersData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(_table.arbitraryData);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (RngRequestType RequestType) {
+ RequestType = RngRequestType(uint8(Bytes.getBytes1(_blob, 0)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
+ internal
+ pure
+ returns (bytes memory arbitraryData)
+ {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ arbitraryData = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
+ internal
+ pure
+ returns (RandomNumbersData memory _table)
+ {
+ (_table.RequestType) = decodeStatic(_staticData);
+
+ (_table.arbitraryData) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint64 sequenceNumber) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint64 sequenceNumber) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(RngRequestType RequestType) internal pure returns (bytes memory) {
+ return abi.encodePacked(RequestType);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes memory arbitraryData) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(arbitraryData).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory arbitraryData) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((arbitraryData)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(RngRequestType RequestType, bytes memory arbitraryData)
+ internal
+ pure
+ returns (bytes memory, EncodedLengths, bytes memory)
+ {
+ bytes memory _staticData = encodeStatic(RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(arbitraryData);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint64 sequenceNumber) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Spawned.sol b/packages/contracts/src/codegen/tables/Spawned.sol
index 0c6ba659f..96be9ded0 100644
--- a/packages/contracts/src/codegen/tables/Spawned.sol
+++ b/packages/contracts/src/codegen/tables/Spawned.sol
@@ -4,198 +4,198 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
library Spawned {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Spawned", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000537061776e6564000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool)
- Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "entityId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "spawned";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get spawned.
- */
- function getSpawned(bytes32 entityId) internal view returns (bool spawned) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get spawned.
- */
- function _getSpawned(bytes32 entityId) internal view returns (bool spawned) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get spawned.
- */
- function get(bytes32 entityId) internal view returns (bool spawned) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get spawned.
- */
- function _get(bytes32 entityId) internal view returns (bool spawned) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set spawned.
- */
- function setSpawned(bytes32 entityId, bool spawned) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
- }
-
- /**
- * @notice Set spawned.
- */
- function _setSpawned(bytes32 entityId, bool spawned) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
- }
-
- /**
- * @notice Set spawned.
- */
- function set(bytes32 entityId, bool spawned) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
- }
-
- /**
- * @notice Set spawned.
- */
- function _set(bytes32 entityId, bool spawned) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(bool spawned) internal pure returns (bytes memory) {
- return abi.encodePacked(spawned);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bool spawned) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(spawned);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Spawned", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000537061776e6564000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool)
+ Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "entityId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "spawned";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get spawned.
+ */
+ function getSpawned(bytes32 entityId) internal view returns (bool spawned) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get spawned.
+ */
+ function _getSpawned(bytes32 entityId) internal view returns (bool spawned) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get spawned.
+ */
+ function get(bytes32 entityId) internal view returns (bool spawned) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get spawned.
+ */
+ function _get(bytes32 entityId) internal view returns (bool spawned) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set spawned.
+ */
+ function setSpawned(bytes32 entityId, bool spawned) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set spawned.
+ */
+ function _setSpawned(bytes32 entityId, bool spawned) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set spawned.
+ */
+ function set(bytes32 entityId, bool spawned) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set spawned.
+ */
+ function _set(bytes32 entityId, bool spawned) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bool spawned) internal pure returns (bytes memory) {
+ return abi.encodePacked(spawned);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bool spawned) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(spawned);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ return _keyTuple;
+ }
}
/**
@@ -205,7 +205,7 @@ library Spawned {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/tables/StarterItems.sol b/packages/contracts/src/codegen/tables/StarterItems.sol
index 7bb79c000..5f74bfd11 100644
--- a/packages/contracts/src/codegen/tables/StarterItems.sol
+++ b/packages/contracts/src/codegen/tables/StarterItems.sol
@@ -4,582 +4,585 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import { Classes } from "./../common.sol";
+import {Classes} from "./../common.sol";
struct StarterItemsData {
- uint256[] itemIds;
- uint256[] amounts;
+ uint256[] itemIds;
+ uint256[] amounts;
}
library StarterItems {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "StarterItems", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000537461727465724974656d7300000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000200000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint8)
- Schema constant _keySchema = Schema.wrap(0x0001010000000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256[], uint256[])
- Schema constant _valueSchema = Schema.wrap(0x0000000281810000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "class";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "itemIds";
- fieldNames[1] = "amounts";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get itemIds.
- */
- function getItemIds(Classes class) internal view returns (uint256[] memory itemIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get itemIds.
- */
- function _getItemIds(Classes class) internal view returns (uint256[] memory itemIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set itemIds.
- */
- function setItemIds(Classes class, uint256[] memory itemIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((itemIds)));
- }
-
- /**
- * @notice Set itemIds.
- */
- function _setItemIds(Classes class, uint256[] memory itemIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((itemIds)));
- }
-
- /**
- * @notice Get the length of itemIds.
- */
- function lengthItemIds(Classes class) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of itemIds.
- */
- function _lengthItemIds(Classes class) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of itemIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemItemIds(Classes class, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of itemIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemItemIds(Classes class, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to itemIds.
- */
- function pushItemIds(Classes class, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to itemIds.
- */
- function _pushItemIds(Classes class, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from itemIds.
- */
- function popItemIds(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from itemIds.
- */
- function _popItemIds(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of itemIds at `_index`.
- */
- function updateItemIds(Classes class, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of itemIds at `_index`.
- */
- function _updateItemIds(Classes class, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get amounts.
- */
- function getAmounts(Classes class) internal view returns (uint256[] memory amounts) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get amounts.
- */
- function _getAmounts(Classes class) internal view returns (uint256[] memory amounts) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set amounts.
- */
- function setAmounts(Classes class, uint256[] memory amounts) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((amounts)));
- }
-
- /**
- * @notice Set amounts.
- */
- function _setAmounts(Classes class, uint256[] memory amounts) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((amounts)));
- }
-
- /**
- * @notice Get the length of amounts.
- */
- function lengthAmounts(Classes class) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of amounts.
- */
- function _lengthAmounts(Classes class) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of amounts.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemAmounts(Classes class, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of amounts.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemAmounts(Classes class, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to amounts.
- */
- function pushAmounts(Classes class, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to amounts.
- */
- function _pushAmounts(Classes class, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from amounts.
- */
- function popAmounts(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Pop an element from amounts.
- */
- function _popAmounts(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Update an element of amounts at `_index`.
- */
- function updateAmounts(Classes class, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of amounts at `_index`.
- */
- function _updateAmounts(Classes class, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(Classes class) internal view returns (StarterItemsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(Classes class) internal view returns (StarterItemsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(Classes class, uint256[] memory itemIds, uint256[] memory amounts) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
- bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(Classes class, uint256[] memory itemIds, uint256[] memory amounts) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
- bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(Classes class, StarterItemsData memory _table) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(_table.itemIds, _table.amounts);
- bytes memory _dynamicData = encodeDynamic(_table.itemIds, _table.amounts);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(Classes class, StarterItemsData memory _table) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(_table.itemIds, _table.amounts);
- bytes memory _dynamicData = encodeDynamic(_table.itemIds, _table.amounts);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(
- EncodedLengths _encodedLengths,
- bytes memory _blob
- ) internal pure returns (uint256[] memory itemIds, uint256[] memory amounts) {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- itemIds = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(1);
- }
- amounts = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- *
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(
- bytes memory,
- EncodedLengths _encodedLengths,
- bytes memory _dynamicData
- ) internal pure returns (StarterItemsData memory _table) {
- (_table.itemIds, _table.amounts) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(
- uint256[] memory itemIds,
- uint256[] memory amounts
- ) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(itemIds.length * 32, amounts.length * 32);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(uint256[] memory itemIds, uint256[] memory amounts) internal pure returns (bytes memory) {
- return abi.encodePacked(EncodeArray.encode((itemIds)), EncodeArray.encode((amounts)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- uint256[] memory itemIds,
- uint256[] memory amounts
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
- bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(Classes class) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "StarterItems", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000537461727465724974656d7300000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000200000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint8)
+ Schema constant _keySchema = Schema.wrap(0x0001010000000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256[], uint256[])
+ Schema constant _valueSchema = Schema.wrap(0x0000000281810000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "class";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "itemIds";
+ fieldNames[1] = "amounts";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get itemIds.
+ */
+ function getItemIds(Classes class) internal view returns (uint256[] memory itemIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get itemIds.
+ */
+ function _getItemIds(Classes class) internal view returns (uint256[] memory itemIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set itemIds.
+ */
+ function setItemIds(Classes class, uint256[] memory itemIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((itemIds)));
+ }
+
+ /**
+ * @notice Set itemIds.
+ */
+ function _setItemIds(Classes class, uint256[] memory itemIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((itemIds)));
+ }
+
+ /**
+ * @notice Get the length of itemIds.
+ */
+ function lengthItemIds(Classes class) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of itemIds.
+ */
+ function _lengthItemIds(Classes class) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of itemIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemItemIds(Classes class, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of itemIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemItemIds(Classes class, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to itemIds.
+ */
+ function pushItemIds(Classes class, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to itemIds.
+ */
+ function _pushItemIds(Classes class, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from itemIds.
+ */
+ function popItemIds(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from itemIds.
+ */
+ function _popItemIds(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of itemIds at `_index`.
+ */
+ function updateItemIds(Classes class, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of itemIds at `_index`.
+ */
+ function _updateItemIds(Classes class, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get amounts.
+ */
+ function getAmounts(Classes class) internal view returns (uint256[] memory amounts) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get amounts.
+ */
+ function _getAmounts(Classes class) internal view returns (uint256[] memory amounts) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set amounts.
+ */
+ function setAmounts(Classes class, uint256[] memory amounts) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((amounts)));
+ }
+
+ /**
+ * @notice Set amounts.
+ */
+ function _setAmounts(Classes class, uint256[] memory amounts) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((amounts)));
+ }
+
+ /**
+ * @notice Get the length of amounts.
+ */
+ function lengthAmounts(Classes class) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of amounts.
+ */
+ function _lengthAmounts(Classes class) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of amounts.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemAmounts(Classes class, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _blob =
+ StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of amounts.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemAmounts(Classes class, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to amounts.
+ */
+ function pushAmounts(Classes class, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to amounts.
+ */
+ function _pushAmounts(Classes class, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from amounts.
+ */
+ function popAmounts(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Pop an element from amounts.
+ */
+ function _popAmounts(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Update an element of amounts at `_index`.
+ */
+ function updateAmounts(Classes class, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(
+ _tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded
+ );
+ }
+ }
+
+ /**
+ * @notice Update an element of amounts at `_index`.
+ */
+ function _updateAmounts(Classes class, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(Classes class) internal view returns (StarterItemsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(Classes class) internal view returns (StarterItemsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(Classes class, uint256[] memory itemIds, uint256[] memory amounts) internal {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
+ bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(Classes class, uint256[] memory itemIds, uint256[] memory amounts) internal {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
+ bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(Classes class, StarterItemsData memory _table) internal {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(_table.itemIds, _table.amounts);
+ bytes memory _dynamicData = encodeDynamic(_table.itemIds, _table.amounts);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(Classes class, StarterItemsData memory _table) internal {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(_table.itemIds, _table.amounts);
+ bytes memory _dynamicData = encodeDynamic(_table.itemIds, _table.amounts);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
+ internal
+ pure
+ returns (uint256[] memory itemIds, uint256[] memory amounts)
+ {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ itemIds = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(1);
+ }
+ amounts = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ *
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(bytes memory, EncodedLengths _encodedLengths, bytes memory _dynamicData)
+ internal
+ pure
+ returns (StarterItemsData memory _table)
+ {
+ (_table.itemIds, _table.amounts) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(uint256[] memory itemIds, uint256[] memory amounts)
+ internal
+ pure
+ returns (EncodedLengths _encodedLengths)
+ {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(itemIds.length * 32, amounts.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(uint256[] memory itemIds, uint256[] memory amounts) internal pure returns (bytes memory) {
+ return abi.encodePacked(EncodeArray.encode((itemIds)), EncodeArray.encode((amounts)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint256[] memory itemIds, uint256[] memory amounts)
+ internal
+ pure
+ returns (bytes memory, EncodedLengths, bytes memory)
+ {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
+ bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(Classes class) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Stats.sol b/packages/contracts/src/codegen/tables/Stats.sol
index 56842ab5e..73e73c2f1 100644
--- a/packages/contracts/src/codegen/tables/Stats.sol
+++ b/packages/contracts/src/codegen/tables/Stats.sol
@@ -4,701 +4,669 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import { Classes } from "./../common.sol";
+import {Classes} from "./../common.sol";
struct StatsData {
- uint256 strength;
- uint256 agility;
- Classes class;
- uint256 intelligence;
- uint256 baseHitPoints;
- int256 currentHp;
- uint256 experience;
- uint256 level;
+ uint256 strength;
+ uint256 agility;
+ Classes class;
+ uint256 intelligence;
+ uint256 baseHitPoints;
+ int256 currentHp;
+ uint256 experience;
+ uint256 level;
}
library Stats {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Stats", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000053746174730000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x00e1080020200120202020200000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256, uint256, uint8, uint256, uint256, int256, uint256, uint256)
- Schema constant _valueSchema = Schema.wrap(0x00e108001f1f001f1f3f1f1f0000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "entityId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](8);
- fieldNames[0] = "strength";
- fieldNames[1] = "agility";
- fieldNames[2] = "class";
- fieldNames[3] = "intelligence";
- fieldNames[4] = "baseHitPoints";
- fieldNames[5] = "currentHp";
- fieldNames[6] = "experience";
- fieldNames[7] = "level";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get strength.
- */
- function getStrength(bytes32 entityId) internal view returns (uint256 strength) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get strength.
- */
- function _getStrength(bytes32 entityId) internal view returns (uint256 strength) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set strength.
- */
- function setStrength(bytes32 entityId, uint256 strength) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
- }
-
- /**
- * @notice Set strength.
- */
- function _setStrength(bytes32 entityId, uint256 strength) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
- }
-
- /**
- * @notice Get agility.
- */
- function getAgility(bytes32 entityId) internal view returns (uint256 agility) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get agility.
- */
- function _getAgility(bytes32 entityId) internal view returns (uint256 agility) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set agility.
- */
- function setAgility(bytes32 entityId, uint256 agility) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
- }
-
- /**
- * @notice Set agility.
- */
- function _setAgility(bytes32 entityId, uint256 agility) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
- }
-
- /**
- * @notice Get class.
- */
- function getClass(bytes32 entityId) internal view returns (Classes class) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return Classes(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get class.
- */
- function _getClass(bytes32 entityId) internal view returns (Classes class) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return Classes(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set class.
- */
- function setClass(bytes32 entityId, Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked(uint8(class)), _fieldLayout);
- }
-
- /**
- * @notice Set class.
- */
- function _setClass(bytes32 entityId, Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked(uint8(class)), _fieldLayout);
- }
-
- /**
- * @notice Get intelligence.
- */
- function getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get intelligence.
- */
- function _getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set intelligence.
- */
- function setIntelligence(bytes32 entityId, uint256 intelligence) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((intelligence)), _fieldLayout);
- }
-
- /**
- * @notice Set intelligence.
- */
- function _setIntelligence(bytes32 entityId, uint256 intelligence) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((intelligence)), _fieldLayout);
- }
-
- /**
- * @notice Get baseHitPoints.
- */
- function getBaseHitPoints(bytes32 entityId) internal view returns (uint256 baseHitPoints) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get baseHitPoints.
- */
- function _getBaseHitPoints(bytes32 entityId) internal view returns (uint256 baseHitPoints) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set baseHitPoints.
- */
- function setBaseHitPoints(bytes32 entityId, uint256 baseHitPoints) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((baseHitPoints)), _fieldLayout);
- }
-
- /**
- * @notice Set baseHitPoints.
- */
- function _setBaseHitPoints(bytes32 entityId, uint256 baseHitPoints) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((baseHitPoints)), _fieldLayout);
- }
-
- /**
- * @notice Get currentHp.
- */
- function getCurrentHp(bytes32 entityId) internal view returns (int256 currentHp) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get currentHp.
- */
- function _getCurrentHp(bytes32 entityId) internal view returns (int256 currentHp) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set currentHp.
- */
- function setCurrentHp(bytes32 entityId, int256 currentHp) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((currentHp)), _fieldLayout);
- }
-
- /**
- * @notice Set currentHp.
- */
- function _setCurrentHp(bytes32 entityId, int256 currentHp) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((currentHp)), _fieldLayout);
- }
-
- /**
- * @notice Get experience.
- */
- function getExperience(bytes32 entityId) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function _getExperience(bytes32 entityId) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set experience.
- */
- function setExperience(bytes32 entityId, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function _setExperience(bytes32 entityId, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Get level.
- */
- function getLevel(bytes32 entityId) internal view returns (uint256 level) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get level.
- */
- function _getLevel(bytes32 entityId) internal view returns (uint256 level) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set level.
- */
- function setLevel(bytes32 entityId, uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((level)), _fieldLayout);
- }
-
- /**
- * @notice Set level.
- */
- function _setLevel(bytes32 entityId, uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((level)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 entityId) internal view returns (StatsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 entityId) internal view returns (StatsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bytes32 entityId,
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- ) internal {
- bytes memory _staticData = encodeStatic(
- strength,
- agility,
- class,
- intelligence,
- baseHitPoints,
- currentHp,
- experience,
- level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bytes32 entityId,
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- ) internal {
- bytes memory _staticData = encodeStatic(
- strength,
- agility,
- class,
- intelligence,
- baseHitPoints,
- currentHp,
- experience,
- level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 entityId, StatsData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strength,
- _table.agility,
- _table.class,
- _table.intelligence,
- _table.baseHitPoints,
- _table.currentHp,
- _table.experience,
- _table.level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 entityId, StatsData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strength,
- _table.agility,
- _table.class,
- _table.intelligence,
- _table.baseHitPoints,
- _table.currentHp,
- _table.experience,
- _table.level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(
- bytes memory _blob
- )
- internal
- pure
- returns (
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- )
- {
- strength = (uint256(Bytes.getBytes32(_blob, 0)));
-
- agility = (uint256(Bytes.getBytes32(_blob, 32)));
-
- class = Classes(uint8(Bytes.getBytes1(_blob, 64)));
-
- intelligence = (uint256(Bytes.getBytes32(_blob, 65)));
-
- baseHitPoints = (uint256(Bytes.getBytes32(_blob, 97)));
-
- currentHp = (int256(uint256(Bytes.getBytes32(_blob, 129))));
-
- experience = (uint256(Bytes.getBytes32(_blob, 161)));
-
- level = (uint256(Bytes.getBytes32(_blob, 193)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths,
- bytes memory
- ) internal pure returns (StatsData memory _table) {
- (
- _table.strength,
- _table.agility,
- _table.class,
- _table.intelligence,
- _table.baseHitPoints,
- _table.currentHp,
- _table.experience,
- _table.level
- ) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(
- strength,
- agility,
- class,
- intelligence,
- baseHitPoints,
- currentHp,
- experience,
- level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Stats", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000053746174730000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x00e1080020200120202020200000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256, uint256, uint8, uint256, uint256, int256, uint256, uint256)
+ Schema constant _valueSchema = Schema.wrap(0x00e108001f1f001f1f3f1f1f0000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "entityId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](8);
+ fieldNames[0] = "strength";
+ fieldNames[1] = "agility";
+ fieldNames[2] = "class";
+ fieldNames[3] = "intelligence";
+ fieldNames[4] = "baseHitPoints";
+ fieldNames[5] = "currentHp";
+ fieldNames[6] = "experience";
+ fieldNames[7] = "level";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get strength.
+ */
+ function getStrength(bytes32 entityId) internal view returns (uint256 strength) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get strength.
+ */
+ function _getStrength(bytes32 entityId) internal view returns (uint256 strength) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set strength.
+ */
+ function setStrength(bytes32 entityId, uint256 strength) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set strength.
+ */
+ function _setStrength(bytes32 entityId, uint256 strength) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get agility.
+ */
+ function getAgility(bytes32 entityId) internal view returns (uint256 agility) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get agility.
+ */
+ function _getAgility(bytes32 entityId) internal view returns (uint256 agility) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set agility.
+ */
+ function setAgility(bytes32 entityId, uint256 agility) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set agility.
+ */
+ function _setAgility(bytes32 entityId, uint256 agility) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get class.
+ */
+ function getClass(bytes32 entityId) internal view returns (Classes class) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return Classes(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get class.
+ */
+ function _getClass(bytes32 entityId) internal view returns (Classes class) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return Classes(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set class.
+ */
+ function setClass(bytes32 entityId, Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked(uint8(class)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set class.
+ */
+ function _setClass(bytes32 entityId, Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked(uint8(class)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get intelligence.
+ */
+ function getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get intelligence.
+ */
+ function _getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set intelligence.
+ */
+ function setIntelligence(bytes32 entityId, uint256 intelligence) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((intelligence)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set intelligence.
+ */
+ function _setIntelligence(bytes32 entityId, uint256 intelligence) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((intelligence)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get baseHitPoints.
+ */
+ function getBaseHitPoints(bytes32 entityId) internal view returns (uint256 baseHitPoints) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get baseHitPoints.
+ */
+ function _getBaseHitPoints(bytes32 entityId) internal view returns (uint256 baseHitPoints) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set baseHitPoints.
+ */
+ function setBaseHitPoints(bytes32 entityId, uint256 baseHitPoints) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((baseHitPoints)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set baseHitPoints.
+ */
+ function _setBaseHitPoints(bytes32 entityId, uint256 baseHitPoints) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((baseHitPoints)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get currentHp.
+ */
+ function getCurrentHp(bytes32 entityId) internal view returns (int256 currentHp) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get currentHp.
+ */
+ function _getCurrentHp(bytes32 entityId) internal view returns (int256 currentHp) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set currentHp.
+ */
+ function setCurrentHp(bytes32 entityId, int256 currentHp) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((currentHp)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set currentHp.
+ */
+ function _setCurrentHp(bytes32 entityId, int256 currentHp) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((currentHp)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function getExperience(bytes32 entityId) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function _getExperience(bytes32 entityId) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function setExperience(bytes32 entityId, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function _setExperience(bytes32 entityId, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get level.
+ */
+ function getLevel(bytes32 entityId) internal view returns (uint256 level) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get level.
+ */
+ function _getLevel(bytes32 entityId) internal view returns (uint256 level) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set level.
+ */
+ function setLevel(bytes32 entityId, uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((level)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set level.
+ */
+ function _setLevel(bytes32 entityId, uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((level)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 entityId) internal view returns (StatsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 entityId) internal view returns (StatsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bytes32 entityId,
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ ) internal {
+ bytes memory _staticData =
+ encodeStatic(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bytes32 entityId,
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ ) internal {
+ bytes memory _staticData =
+ encodeStatic(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 entityId, StatsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.strength,
+ _table.agility,
+ _table.class,
+ _table.intelligence,
+ _table.baseHitPoints,
+ _table.currentHp,
+ _table.experience,
+ _table.level
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 entityId, StatsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.strength,
+ _table.agility,
+ _table.class,
+ _table.intelligence,
+ _table.baseHitPoints,
+ _table.currentHp,
+ _table.experience,
+ _table.level
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob)
+ internal
+ pure
+ returns (
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ )
+ {
+ strength = (uint256(Bytes.getBytes32(_blob, 0)));
+
+ agility = (uint256(Bytes.getBytes32(_blob, 32)));
+
+ class = Classes(uint8(Bytes.getBytes1(_blob, 64)));
+
+ intelligence = (uint256(Bytes.getBytes32(_blob, 65)));
+
+ baseHitPoints = (uint256(Bytes.getBytes32(_blob, 97)));
+
+ currentHp = (int256(uint256(Bytes.getBytes32(_blob, 129))));
+
+ experience = (uint256(Bytes.getBytes32(_blob, 161)));
+
+ level = (uint256(Bytes.getBytes32(_blob, 193)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(bytes memory _staticData, EncodedLengths, bytes memory)
+ internal
+ pure
+ returns (StatsData memory _table)
+ {
+ (
+ _table.strength,
+ _table.agility,
+ _table.class,
+ _table.intelligence,
+ _table.baseHitPoints,
+ _table.currentHp,
+ _table.experience,
+ _table.level
+ ) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData =
+ encodeStatic(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol b/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
index e9c793b22..5fa398025 100644
--- a/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
+++ b/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
@@ -4,579 +4,574 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import { IStore } from "@latticexyz/store/src/IStore.sol";
-import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
-import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
-import { Bytes } from "@latticexyz/store/src/Bytes.sol";
-import { Memory } from "@latticexyz/store/src/Memory.sol";
-import { SliceLib } from "@latticexyz/store/src/Slice.sol";
-import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
-import { Schema } from "@latticexyz/store/src/Schema.sol";
-import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
-import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
+import {IStore} from "@latticexyz/store/src/IStore.sol";
+import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
+import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
+import {Bytes} from "@latticexyz/store/src/Bytes.sol";
+import {Memory} from "@latticexyz/store/src/Memory.sol";
+import {SliceLib} from "@latticexyz/store/src/Slice.sol";
+import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
+import {Schema} from "@latticexyz/store/src/Schema.sol";
+import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
+import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
struct UltimateDominionConfigData {
- bool locked;
- address goldToken;
- address characterToken;
- address entropy;
- address pythProvider;
- address items;
- address multicall;
+ bool locked;
+ address goldToken;
+ address characterToken;
+ address entropy;
+ address pythProvider;
+ address items;
+ address multicall;
}
library UltimateDominionConfig {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "UltimateDominion", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000556c74696d617465446f6d696e696f6e);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0079070001141414141414000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of ()
- Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool, address, address, address, address, address, address)
- Schema constant _valueSchema = Schema.wrap(0x0079070060616161616161000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](0);
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](7);
- fieldNames[0] = "locked";
- fieldNames[1] = "goldToken";
- fieldNames[2] = "characterToken";
- fieldNames[3] = "entropy";
- fieldNames[4] = "pythProvider";
- fieldNames[5] = "items";
- fieldNames[6] = "multicall";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get locked.
- */
- function getLocked() internal view returns (bool locked) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get locked.
- */
- function _getLocked() internal view returns (bool locked) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set locked.
- */
- function setLocked(bool locked) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((locked)), _fieldLayout);
- }
-
- /**
- * @notice Set locked.
- */
- function _setLocked(bool locked) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((locked)), _fieldLayout);
- }
-
- /**
- * @notice Get goldToken.
- */
- function getGoldToken() internal view returns (address goldToken) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get goldToken.
- */
- function _getGoldToken() internal view returns (address goldToken) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set goldToken.
- */
- function setGoldToken(address goldToken) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((goldToken)), _fieldLayout);
- }
-
- /**
- * @notice Set goldToken.
- */
- function _setGoldToken(address goldToken) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((goldToken)), _fieldLayout);
- }
-
- /**
- * @notice Get characterToken.
- */
- function getCharacterToken() internal view returns (address characterToken) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get characterToken.
- */
- function _getCharacterToken() internal view returns (address characterToken) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set characterToken.
- */
- function setCharacterToken(address characterToken) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((characterToken)), _fieldLayout);
- }
-
- /**
- * @notice Set characterToken.
- */
- function _setCharacterToken(address characterToken) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((characterToken)), _fieldLayout);
- }
-
- /**
- * @notice Get entropy.
- */
- function getEntropy() internal view returns (address entropy) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get entropy.
- */
- function _getEntropy() internal view returns (address entropy) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set entropy.
- */
- function setEntropy(address entropy) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((entropy)), _fieldLayout);
- }
-
- /**
- * @notice Set entropy.
- */
- function _setEntropy(address entropy) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((entropy)), _fieldLayout);
- }
-
- /**
- * @notice Get pythProvider.
- */
- function getPythProvider() internal view returns (address pythProvider) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get pythProvider.
- */
- function _getPythProvider() internal view returns (address pythProvider) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set pythProvider.
- */
- function setPythProvider(address pythProvider) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((pythProvider)), _fieldLayout);
- }
-
- /**
- * @notice Set pythProvider.
- */
- function _setPythProvider(address pythProvider) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((pythProvider)), _fieldLayout);
- }
-
- /**
- * @notice Get items.
- */
- function getItems() internal view returns (address items) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get items.
- */
- function _getItems() internal view returns (address items) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set items.
- */
- function setItems(address items) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
- }
-
- /**
- * @notice Set items.
- */
- function _setItems(address items) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
- }
-
- /**
- * @notice Get multicall.
- */
- function getMulticall() internal view returns (address multicall) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get multicall.
- */
- function _getMulticall() internal view returns (address multicall) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set multicall.
- */
- function setMulticall(address multicall) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
- }
-
- /**
- * @notice Set multicall.
- */
- function _setMulticall(address multicall) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get() internal view returns (UltimateDominionConfigData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get() internal view returns (UltimateDominionConfigData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
- _tableId,
- _keyTuple,
- _fieldLayout
- );
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- ) internal {
- bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- ) internal {
- bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(UltimateDominionConfigData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.locked,
- _table.goldToken,
- _table.characterToken,
- _table.entropy,
- _table.pythProvider,
- _table.items,
- _table.multicall
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(UltimateDominionConfigData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.locked,
- _table.goldToken,
- _table.characterToken,
- _table.entropy,
- _table.pythProvider,
- _table.items,
- _table.multicall
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(
- bytes memory _blob
- )
- internal
- pure
- returns (
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- )
- {
- locked = (_toBool(uint8(Bytes.getBytes1(_blob, 0))));
-
- goldToken = (address(Bytes.getBytes20(_blob, 1)));
-
- characterToken = (address(Bytes.getBytes20(_blob, 21)));
-
- entropy = (address(Bytes.getBytes20(_blob, 41)));
-
- pythProvider = (address(Bytes.getBytes20(_blob, 61)));
-
- items = (address(Bytes.getBytes20(_blob, 81)));
-
- multicall = (address(Bytes.getBytes20(_blob, 101)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(
- bytes memory _staticData,
- EncodedLengths,
- bytes memory
- ) internal pure returns (UltimateDominionConfigData memory _table) {
- (
- _table.locked,
- _table.goldToken,
- _table.characterToken,
- _table.entropy,
- _table.pythProvider,
- _table.items,
- _table.multicall
- ) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord() internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord() internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple() internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "UltimateDominion", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000556c74696d617465446f6d696e696f6e);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0079070001141414141414000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of ()
+ Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool, address, address, address, address, address, address)
+ Schema constant _valueSchema = Schema.wrap(0x0079070060616161616161000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](0);
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](7);
+ fieldNames[0] = "locked";
+ fieldNames[1] = "goldToken";
+ fieldNames[2] = "characterToken";
+ fieldNames[3] = "entropy";
+ fieldNames[4] = "pythProvider";
+ fieldNames[5] = "items";
+ fieldNames[6] = "multicall";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get locked.
+ */
+ function getLocked() internal view returns (bool locked) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get locked.
+ */
+ function _getLocked() internal view returns (bool locked) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set locked.
+ */
+ function setLocked(bool locked) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((locked)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set locked.
+ */
+ function _setLocked(bool locked) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((locked)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get goldToken.
+ */
+ function getGoldToken() internal view returns (address goldToken) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get goldToken.
+ */
+ function _getGoldToken() internal view returns (address goldToken) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set goldToken.
+ */
+ function setGoldToken(address goldToken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((goldToken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set goldToken.
+ */
+ function _setGoldToken(address goldToken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((goldToken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get characterToken.
+ */
+ function getCharacterToken() internal view returns (address characterToken) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get characterToken.
+ */
+ function _getCharacterToken() internal view returns (address characterToken) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set characterToken.
+ */
+ function setCharacterToken(address characterToken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((characterToken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set characterToken.
+ */
+ function _setCharacterToken(address characterToken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((characterToken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get entropy.
+ */
+ function getEntropy() internal view returns (address entropy) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get entropy.
+ */
+ function _getEntropy() internal view returns (address entropy) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set entropy.
+ */
+ function setEntropy(address entropy) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((entropy)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set entropy.
+ */
+ function _setEntropy(address entropy) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((entropy)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get pythProvider.
+ */
+ function getPythProvider() internal view returns (address pythProvider) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get pythProvider.
+ */
+ function _getPythProvider() internal view returns (address pythProvider) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set pythProvider.
+ */
+ function setPythProvider(address pythProvider) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((pythProvider)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set pythProvider.
+ */
+ function _setPythProvider(address pythProvider) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((pythProvider)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get items.
+ */
+ function getItems() internal view returns (address items) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get items.
+ */
+ function _getItems() internal view returns (address items) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set items.
+ */
+ function setItems(address items) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set items.
+ */
+ function _setItems(address items) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get multicall.
+ */
+ function getMulticall() internal view returns (address multicall) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get multicall.
+ */
+ function _getMulticall() internal view returns (address multicall) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set multicall.
+ */
+ function setMulticall(address multicall) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set multicall.
+ */
+ function _setMulticall(address multicall) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get() internal view returns (UltimateDominionConfigData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get() internal view returns (UltimateDominionConfigData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
+ StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ ) internal {
+ bytes memory _staticData =
+ encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ ) internal {
+ bytes memory _staticData =
+ encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(UltimateDominionConfigData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.locked,
+ _table.goldToken,
+ _table.characterToken,
+ _table.entropy,
+ _table.pythProvider,
+ _table.items,
+ _table.multicall
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(UltimateDominionConfigData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.locked,
+ _table.goldToken,
+ _table.characterToken,
+ _table.entropy,
+ _table.pythProvider,
+ _table.items,
+ _table.multicall
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob)
+ internal
+ pure
+ returns (
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ )
+ {
+ locked = (_toBool(uint8(Bytes.getBytes1(_blob, 0))));
+
+ goldToken = (address(Bytes.getBytes20(_blob, 1)));
+
+ characterToken = (address(Bytes.getBytes20(_blob, 21)));
+
+ entropy = (address(Bytes.getBytes20(_blob, 41)));
+
+ pythProvider = (address(Bytes.getBytes20(_blob, 61)));
+
+ items = (address(Bytes.getBytes20(_blob, 81)));
+
+ multicall = (address(Bytes.getBytes20(_blob, 101)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(bytes memory _staticData, EncodedLengths, bytes memory)
+ internal
+ pure
+ returns (UltimateDominionConfigData memory _table)
+ {
+ (
+ _table.locked,
+ _table.goldToken,
+ _table.characterToken,
+ _table.entropy,
+ _table.pythProvider,
+ _table.items,
+ _table.multicall
+ ) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord() internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord() internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData =
+ encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple() internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ return _keyTuple;
+ }
}
/**
@@ -586,7 +581,7 @@ library UltimateDominionConfig {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/world/IActionSystem.sol b/packages/contracts/src/codegen/world/IActionSystem.sol
index a8b250e62..3f844d1f9 100644
--- a/packages/contracts/src/codegen/world/IActionSystem.sol
+++ b/packages/contracts/src/codegen/world/IActionSystem.sol
@@ -3,7 +3,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import { ActionType } from "@codegen/common.sol";
+import {ActionType} from "@codegen/common.sol";
/**
* @title IActionSystem
@@ -11,9 +11,9 @@ import { ActionType } from "@codegen/common.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IActionSystem {
- function UD__createAction(ActionType actionType, bytes memory actionStats) external returns (bytes32 actionId);
+ function UD__createAction(ActionType actionType, bytes memory actionStats) external returns (bytes32 actionId);
- function UD__assignActionToCharacter(bytes32 characterId, bytes32 actionId) external;
+ function UD__assignActionToCharacter(bytes32 characterId, bytes32 actionId) external;
- function UD__equipAction(bytes32 characterId, bytes32 actionId) external;
+ function UD__equipAction(bytes32 characterId, bytes32 actionId) external;
}
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index 7672f9758..56be1c6f9 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -3,8 +3,8 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import { Classes } from "@codegen/common.sol";
-import { StatsData } from "@codegen/index.sol";
+import {Classes} from "@codegen/common.sol";
+import {StatsData} from "@codegen/index.sol";
/**
* @title ICharacterSystem
@@ -12,37 +12,35 @@ import { StatsData } from "@codegen/index.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface ICharacterSystem {
- function UD__getName(bytes32 characterId) external view returns (bytes32 _name);
+ function UD__getName(bytes32 characterId) external view returns (bytes32 _name);
- function UD__getClass(bytes32 characterId) external view returns (Classes _class);
+ function UD__getClass(bytes32 characterId) external view returns (Classes _class);
- function UD__getPlayerEntityId(uint256 characterTokenId) external view returns (bytes32 characterId);
+ function UD__getPlayerEntityId(uint256 characterTokenId) external view returns (bytes32 characterId);
- function UD__getCharacterTokenId(bytes32 characterId) external pure returns (uint256);
+ function UD__getCharacterTokenId(bytes32 characterId) external pure returns (uint256);
- function UD__getOwnerAddress(bytes32 characterId) external pure returns (address);
+ function UD__getOwnerAddress(bytes32 characterId) external pure returns (address);
- function UD__isValidCharacterId(bytes32 characterId) external view returns (bool);
+ function UD__isValidCharacterId(bytes32 characterId) external view returns (bool);
- function UD__isValidOwner(bytes32 characterId, address owner) external view returns (bool);
+ function UD__isValidOwner(bytes32 characterId, address owner) external view returns (bool);
- function UD__mintCharacter(
- address account,
- bytes32 name,
- string memory tokenUri
- ) external returns (bytes32 characterId);
+ function UD__mintCharacter(address account, bytes32 name, string memory tokenUri)
+ external
+ returns (bytes32 characterId);
- function UD__rollStats(bytes32 userRandomNumber, bytes32 characterId, Classes class) external payable;
+ function UD__rollStats(bytes32 userRandomNumber, bytes32 characterId, Classes class) external payable;
- function UD__enterGame(bytes32 characterId) external;
+ function UD__enterGame(bytes32 characterId) external;
- function UD__getCurrentAvailableLevel(uint256 experience) external view returns (uint256 currentLevel);
+ function UD__getCurrentAvailableLevel(uint256 experience) external view returns (uint256 currentLevel);
- function UD__updateTokenUri(bytes32 characterId, string memory tokenUri) external;
+ function UD__updateTokenUri(bytes32 characterId, string memory tokenUri) external;
- function UD__getOwner(bytes32 characterId) external view returns (address);
+ function UD__getOwner(bytes32 characterId) external view returns (address);
- function UD__getExperience(bytes32 characterId) external view returns (uint256);
+ function UD__getExperience(bytes32 characterId) external view returns (uint256);
- function UD__getStats(bytes32 characterId) external view returns (StatsData memory);
+ function UD__getStats(bytes32 characterId) external view returns (StatsData memory);
}
diff --git a/packages/contracts/src/codegen/world/ICombatSystem.sol b/packages/contracts/src/codegen/world/ICombatSystem.sol
index 8df309ab1..7dc75219b 100644
--- a/packages/contracts/src/codegen/world/ICombatSystem.sol
+++ b/packages/contracts/src/codegen/world/ICombatSystem.sol
@@ -3,9 +3,9 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import { EncounterType } from "@codegen/common.sol";
-import { Action, PhysicalAttackStats } from "@interfaces/Structs.sol";
-import { CombatEncounterData } from "@codegen/index.sol";
+import {EncounterType} from "@codegen/common.sol";
+import {Action, PhysicalAttackStats} from "@interfaces/Structs.sol";
+import {CombatEncounterData} from "@codegen/index.sol";
/**
* @title ICombatSystem
@@ -13,41 +13,37 @@ import { CombatEncounterData } from "@codegen/index.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface ICombatSystem {
- function UD__createMatch(
- EncounterType encounterType,
- bytes32[] memory attackers,
- bytes32[] memory defenders
- ) external returns (bytes32 encounterId);
+ function UD__createMatch(EncounterType encounterType, bytes32[] memory attackers, bytes32[] memory defenders)
+ external
+ returns (bytes32 encounterId);
- function UD__isValidPvE(
- bytes32[] memory attackers,
- bytes32[] memory defenders,
- uint16 x,
- uint16 y
- ) external view returns (bool _isValidPvE);
+ function UD__isValidPvE(bytes32[] memory attackers, bytes32[] memory defenders, uint16 x, uint16 y)
+ external
+ view
+ returns (bool _isValidPvE);
- function UD__endTurn(bytes32 encounterId, bytes32 playerId, Action[] memory actions) external payable;
+ function UD__endTurn(bytes32 encounterId, bytes32 playerId, Action[] memory actions) external payable;
- function UD__isParticipant(address account, bytes32 encounterId) external view returns (bool _isParticipant);
+ function UD__isParticipant(address account, bytes32 encounterId) external view returns (bool _isParticipant);
- function UD__isParticipant(
- address account,
- bytes32[] memory participants
- ) external view returns (bool _isParticipant);
+ function UD__isParticipant(address account, bytes32[] memory participants)
+ external
+ view
+ returns (bool _isParticipant);
- function UD__executeCombat(uint256 randomNumber, bytes32 encounterId, Action[] memory actions) external;
+ function UD__executeCombat(uint256 randomNumber, bytes32 encounterId, Action[] memory actions) external;
- function UD___calculatePhysicalAttack(
- PhysicalAttackStats memory attackStats,
- bytes32 attackerId,
- bytes32 defenderId,
- uint256 weaponId,
- uint256 randomNumber
- ) external returns (int256 damage, bool hit, bool crit);
+ function UD___calculatePhysicalAttack(
+ PhysicalAttackStats memory attackStats,
+ bytes32 attackerId,
+ bytes32 defenderId,
+ uint256 weaponId,
+ uint256 randomNumber
+ ) external returns (int256 damage, bool hit, bool crit);
- function UD__getEncounter(bytes32 encounterId) external view returns (CombatEncounterData memory _encounterData);
+ function UD__getEncounter(bytes32 encounterId) external view returns (CombatEncounterData memory _encounterData);
- function UD___calculateMagicAttack() external;
+ function UD___calculateMagicAttack() external;
- function UD__calculateGoldDrop(uint256 mobLevel, uint256 randomNumber) external returns (uint256 dropAmount);
+ function UD__calculateGoldDrop(uint256 mobLevel, uint256 randomNumber) external returns (uint256 dropAmount);
}
diff --git a/packages/contracts/src/codegen/world/IEquipmentSystem.sol b/packages/contracts/src/codegen/world/IEquipmentSystem.sol
index 3669ba117..bb5c57e47 100644
--- a/packages/contracts/src/codegen/world/IEquipmentSystem.sol
+++ b/packages/contracts/src/codegen/world/IEquipmentSystem.sol
@@ -3,7 +3,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import { AdjustedCombatStats, WeaponStats, ArmorStats } from "@interfaces/Structs.sol";
+import {AdjustedCombatStats, WeaponStats, ArmorStats} from "@interfaces/Structs.sol";
/**
* @title IEquipmentSystem
@@ -11,17 +11,20 @@ import { AdjustedCombatStats, WeaponStats, ArmorStats } from "@interfaces/Struct
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IEquipmentSystem {
- function UD__equipItems(bytes32 characterId, uint256[] memory itemIds) external;
+ function UD__equipItems(bytes32 characterId, uint256[] memory itemIds) external;
- function UD__isEquipped(bytes32 characterId, uint256 itemId) external view returns (bool _isEquipped);
+ function UD__isEquipped(bytes32 characterId, uint256 itemId) external view returns (bool _isEquipped);
- function UD__checkRequirements(bytes32 characterId, uint256 itemId) external view returns (bool canUse);
+ function UD__checkRequirements(bytes32 characterId, uint256 itemId) external view returns (bool canUse);
- function UD__unequipItem(bytes32 characterId, uint256 itemId) external returns (bool success);
+ function UD__unequipItem(bytes32 characterId, uint256 itemId) external returns (bool success);
- function UD__applyEquipmentBonuses(bytes32 entityId) external view returns (AdjustedCombatStats memory modifiedStats);
+ function UD__applyEquipmentBonuses(bytes32 entityId)
+ external
+ view
+ returns (AdjustedCombatStats memory modifiedStats);
- function UD__getWeaponStats(uint256 itemId) external view returns (WeaponStats memory _weaponStats);
+ function UD__getWeaponStats(uint256 itemId) external view returns (WeaponStats memory _weaponStats);
- function UD__getArmorStats(uint256 itemId) external view returns (ArmorStats memory _ArmorStats);
+ function UD__getArmorStats(uint256 itemId) external view returns (ArmorStats memory _ArmorStats);
}
diff --git a/packages/contracts/src/codegen/world/IItemsSystem.sol b/packages/contracts/src/codegen/world/IItemsSystem.sol
index 571a85b18..7d5fe5138 100644
--- a/packages/contracts/src/codegen/world/IItemsSystem.sol
+++ b/packages/contracts/src/codegen/world/IItemsSystem.sol
@@ -3,8 +3,8 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import { ItemType, Classes } from "@codegen/common.sol";
-import { StarterItemsData } from "@codegen/index.sol";
+import {ItemType, Classes} from "@codegen/common.sol";
+import {StarterItemsData} from "@codegen/index.sol";
/**
* @title IItemsSystem
@@ -12,33 +12,33 @@ import { StarterItemsData } from "@codegen/index.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IItemsSystem {
- function UD__createItem(
- ItemType itemType,
- uint256 supply,
- uint256 dropChance,
- bytes memory stats,
- string memory itemMetadataURI
- ) external returns (uint256);
+ function UD__createItem(
+ ItemType itemType,
+ uint256 supply,
+ uint256 dropChance,
+ bytes memory stats,
+ string memory itemMetadataURI
+ ) external returns (uint256);
- function UD__createItems(
- ItemType[] memory itemTypes,
- uint256[] memory supply,
- uint256[] memory dropChances,
- bytes[] memory stats,
- string[] memory itemMetadataURIs
- ) external;
+ function UD__createItems(
+ ItemType[] memory itemTypes,
+ uint256[] memory supply,
+ uint256[] memory dropChances,
+ bytes[] memory stats,
+ string[] memory itemMetadataURIs
+ ) external;
- function UD__getTotalSupply(uint256 tokenId) external view returns (uint256 _supply);
+ function UD__getTotalSupply(uint256 tokenId) external view returns (uint256 _supply);
- function UD__getStarterItems(Classes class) external view returns (StarterItemsData memory data);
+ function UD__getStarterItems(Classes class) external view returns (StarterItemsData memory data);
- function UD__setTokenUri(uint256 tokenId, string memory tokenUri) external;
+ function UD__setTokenUri(uint256 tokenId, string memory tokenUri) external;
- function UD__getItemType(uint256 itemId) external view returns (ItemType);
+ function UD__getItemType(uint256 itemId) external view returns (ItemType);
- function UD__getCurrentItemsCounter() external view returns (uint256);
+ function UD__getCurrentItemsCounter() external view returns (uint256);
- function UD__setStarterItems(Classes class, uint256[] memory itemIds, uint256[] memory amounts) external;
+ function UD__setStarterItems(Classes class, uint256[] memory itemIds, uint256[] memory amounts) external;
- function UD__isItemOwner(uint256 itemId, address account) external view returns (bool);
+ function UD__isItemOwner(uint256 itemId, address account) external view returns (bool);
}
diff --git a/packages/contracts/src/codegen/world/IMapSystem.sol b/packages/contracts/src/codegen/world/IMapSystem.sol
index 6d44cd167..aaac3781b 100644
--- a/packages/contracts/src/codegen/world/IMapSystem.sol
+++ b/packages/contracts/src/codegen/world/IMapSystem.sol
@@ -9,11 +9,14 @@ pragma solidity >=0.8.24;
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IMapSystem {
- function UD__move(bytes32 entityId, uint16 x, uint16 y) external;
+ function UD__move(bytes32 entityId, uint16 x, uint16 y) external;
- function UD__spawn(bytes32 entityId) external;
+ function UD__spawn(bytes32 entityId) external;
- function UD__getEntitiesAtPosition(uint16 x, uint16 y) external view returns (bytes32[] memory entitiesAtPosition);
+ function UD__getEntitiesAtPosition(uint16 x, uint16 y)
+ external
+ view
+ returns (bytes32[] memory entitiesAtPosition);
- function UD__isAtPosition(bytes32 entityId, uint16 x, uint16 y) external view returns (bool _isAtPosition);
+ function UD__isAtPosition(bytes32 entityId, uint16 x, uint16 y) external view returns (bool _isAtPosition);
}
diff --git a/packages/contracts/src/codegen/world/IMobSystem.sol b/packages/contracts/src/codegen/world/IMobSystem.sol
index 05c23d63f..a71ac5587 100644
--- a/packages/contracts/src/codegen/world/IMobSystem.sol
+++ b/packages/contracts/src/codegen/world/IMobSystem.sol
@@ -3,9 +3,9 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import { MobType } from "@codegen/common.sol";
-import { NPCStats, MonsterStats } from "@interfaces/Structs.sol";
-import { MobsData } from "@tables/Mobs.sol";
+import {MobType} from "@codegen/common.sol";
+import {NPCStats, MonsterStats} from "@interfaces/Structs.sol";
+import {MobsData} from "@tables/Mobs.sol";
/**
* @title IMobSystem
@@ -13,29 +13,32 @@ import { MobsData } from "@tables/Mobs.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IMobSystem {
- function UD__createMob(MobType mobType, bytes memory stats, string memory mobMetadataUri) external returns (uint256);
+ function UD__createMob(MobType mobType, bytes memory stats, string memory mobMetadataUri)
+ external
+ returns (uint256);
- function UD__createMobs(MobType[] memory mobTypes, bytes[] memory stats, string[] memory mobMetadataURIs) external;
+ function UD__createMobs(MobType[] memory mobTypes, bytes[] memory stats, string[] memory mobMetadataURIs)
+ external;
- function UD__spawnMob(uint256 mobId, uint16 x, uint16 y) external returns (bytes32 entityId);
+ function UD__spawnMob(uint256 mobId, uint16 x, uint16 y) external returns (bytes32 entityId);
- function UD__getMobId(bytes32 entityId) external pure returns (uint256);
+ function UD__getMobId(bytes32 entityId) external pure returns (uint256);
- function UD__getMobPosition(bytes32 entityId) external pure returns (uint16 x, uint16 y);
+ function UD__getMobPosition(bytes32 entityId) external pure returns (uint16 x, uint16 y);
- function UD__getSpawnCounter(bytes32 entityId) external pure returns (uint256);
+ function UD__getSpawnCounter(bytes32 entityId) external pure returns (uint256);
- function UD__getNpcStats(uint256 mobId) external view returns (NPCStats memory);
+ function UD__getNpcStats(uint256 mobId) external view returns (NPCStats memory);
- function UD__getNpcStats(bytes32 entityId) external view returns (NPCStats memory);
+ function UD__getNpcStats(bytes32 entityId) external view returns (NPCStats memory);
- function UD__getMonsterStats(uint256 mobId) external view returns (MonsterStats memory);
+ function UD__getMonsterStats(uint256 mobId) external view returns (MonsterStats memory);
- function UD__getMonsterStats(bytes32 entityId) external view returns (MonsterStats memory);
+ function UD__getMonsterStats(bytes32 entityId) external view returns (MonsterStats memory);
- function UD__isValidMob(bytes32 entityId) external view returns (bool);
+ function UD__isValidMob(bytes32 entityId) external view returns (bool);
- function UD__getMob(uint256 mobId) external view returns (MobsData memory);
+ function UD__getMob(uint256 mobId) external view returns (MobsData memory);
- function UD__getMob(bytes32 entityId) external view returns (MobsData memory);
+ function UD__getMob(bytes32 entityId) external view returns (MobsData memory);
}
diff --git a/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol b/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
index 141db9fed..b922891a0 100644
--- a/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
+++ b/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
@@ -9,17 +9,17 @@ pragma solidity >=0.8.24;
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IUltimateDominionConfigSystem {
- function UD__getCharacterToken() external view returns (address _characterToken);
+ function UD__getCharacterToken() external view returns (address _characterToken);
- function UD__getGoldToken() external view returns (address _goldToken);
+ function UD__getGoldToken() external view returns (address _goldToken);
- function UD__getEntropy() external view returns (address _entropy);
+ function UD__getEntropy() external view returns (address _entropy);
- function UD__getPythProvider() external view returns (address _provider);
+ function UD__getPythProvider() external view returns (address _provider);
- function UD__getItemsContract() external view returns (address _erc1155);
+ function UD__getItemsContract() external view returns (address _erc1155);
- function UD__getMulticallContract() external view returns (address _multicall);
+ function UD__getMulticallContract() external view returns (address _multicall);
- function UD__getLootManagerSystem() external view returns (address _lootManager);
+ function UD__getLootManagerSystem() external view returns (address _lootManager);
}
diff --git a/packages/contracts/src/codegen/world/IWorld.sol b/packages/contracts/src/codegen/world/IWorld.sol
index f54982249..671a5ada9 100644
--- a/packages/contracts/src/codegen/world/IWorld.sol
+++ b/packages/contracts/src/codegen/world/IWorld.sol
@@ -3,17 +3,17 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import { IBaseWorld } from "@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol";
+import {IBaseWorld} from "@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol";
-import { IActionSystem } from "./IActionSystem.sol";
-import { ICharacterSystem } from "./ICharacterSystem.sol";
-import { ICombatSystem } from "./ICombatSystem.sol";
-import { IEquipmentSystem } from "./IEquipmentSystem.sol";
-import { IItemsSystem } from "./IItemsSystem.sol";
-import { ILootManagerSystem } from "./ILootManagerSystem.sol";
-import { IMapSystem } from "./IMapSystem.sol";
-import { IMobSystem } from "./IMobSystem.sol";
-import { IUltimateDominionConfigSystem } from "./IUltimateDominionConfigSystem.sol";
+import {IActionSystem} from "./IActionSystem.sol";
+import {ICharacterSystem} from "./ICharacterSystem.sol";
+import {ICombatSystem} from "./ICombatSystem.sol";
+import {IEquipmentSystem} from "./IEquipmentSystem.sol";
+import {IItemsSystem} from "./IItemsSystem.sol";
+import {ILootManagerSystem} from "./ILootManagerSystem.sol";
+import {IMapSystem} from "./IMapSystem.sol";
+import {IMobSystem} from "./IMobSystem.sol";
+import {IUltimateDominionConfigSystem} from "./IUltimateDominionConfigSystem.sol";
/**
* @title IWorld
@@ -23,14 +23,14 @@ import { IUltimateDominionConfigSystem } from "./IUltimateDominionConfigSystem.s
* @dev This is an autogenerated file; do not edit manually.
*/
interface IWorld is
- IBaseWorld,
- IActionSystem,
- ICharacterSystem,
- ICombatSystem,
- IEquipmentSystem,
- IItemsSystem,
- ILootManagerSystem,
- IMapSystem,
- IMobSystem,
- IUltimateDominionConfigSystem
+ IBaseWorld,
+ IActionSystem,
+ ICharacterSystem,
+ ICombatSystem,
+ IEquipmentSystem,
+ IItemsSystem,
+ ILootManagerSystem,
+ IMapSystem,
+ IMobSystem,
+ IUltimateDominionConfigSystem
{}
diff --git a/packages/contracts/src/systems/EquipmentSystem.sol b/packages/contracts/src/systems/EquipmentSystem.sol
index 582415c1a..cd5943e30 100644
--- a/packages/contracts/src/systems/EquipmentSystem.sol
+++ b/packages/contracts/src/systems/EquipmentSystem.sol
@@ -76,8 +76,7 @@ contract EquipmentSystem is System {
i++;
}
}
- }
- if (uint8(itemData.itemType) == 1) {
+ } else if (uint8(itemData.itemType) == 1) {
uint256[] memory equippedArmor = CharacterEquipment.getEquippedArmor(characterId);
for (uint256 i; i < equippedArmor.length;) {
if (equippedArmor[i] == itemId) {
@@ -88,6 +87,10 @@ contract EquipmentSystem is System {
i++;
}
}
+ } else if (uint8(itemData.itemType) == 2) {
+ // spells
+ } else {
+ revert("EQUIPMENT: UNRECOGNIZED ITEM TYPE");
}
}
@@ -139,6 +142,7 @@ contract EquipmentSystem is System {
}
function _equipItem(bytes32 characterId, uint256 itemId, ItemType itemType) internal {
+ require(!isEquipped(characterId, itemId), "EQUIPMENT: ALREADY EQUIPPED");
if (uint8(itemType) == 0) {
require(CharacterEquipment.lengthEquippedWeapons(characterId) < 3, "ITEMS: Too many weapons equipped");
CharacterEquipment.pushEquippedWeapons(characterId, itemId);
From 49030da7097bdf3257fe546368bf3ecba51db12d Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Tue, 16 Jul 2024 15:52:52 -0500
Subject: [PATCH 6/8] added missing files
---
.../CharacterSystem.sol/CharacterSystem.json | 2 +-
.../contracts/out/IWorld.sol/IWorld.abi.json | 24 +
.../out/IWorld.sol/IWorld.abi.json.d.ts | 24 +
packages/contracts/out/IWorld.sol/IWorld.json | 2 +-
.../out/MapSystem.sol/MapSystem.json | 2 +-
packages/contracts/src/codegen/common.sol | 60 +-
packages/contracts/src/codegen/index.sol | 42 +-
.../contracts/src/codegen/tables/Actions.sol | 924 ++++----
.../contracts/src/codegen/tables/Admin.sol | 386 +--
.../src/codegen/tables/CharacterEquipment.sol | 2101 +++++++++--------
.../src/codegen/tables/Characters.sol | 820 +++----
.../src/codegen/tables/CombatEncounter.sol | 1731 +++++++-------
.../contracts/src/codegen/tables/Counters.sol | 404 ++--
.../src/codegen/tables/EntitiesAtPosition.sol | 950 ++++----
.../contracts/src/codegen/tables/Items.sol | 1017 ++++----
.../contracts/src/codegen/tables/Levels.sol | 380 +--
.../src/codegen/tables/MapConfig.sol | 510 ++--
.../src/codegen/tables/MatchEntity.sol | 613 ++---
.../contracts/src/codegen/tables/Mobs.sol | 1272 +++++-----
.../src/codegen/tables/MobsByLevel.sol | 886 ++++---
.../contracts/src/codegen/tables/Name.sol | 880 +++----
.../src/codegen/tables/NameExists.sol | 386 +--
.../contracts/src/codegen/tables/Position.sol | 538 ++---
.../src/codegen/tables/RandomNumbers.sol | 924 ++++----
.../contracts/src/codegen/tables/Spawned.sol | 386 +--
.../src/codegen/tables/StarterItems.sol | 1145 +++++----
.../contracts/src/codegen/tables/Stats.sol | 1348 +++++------
.../codegen/tables/UltimateDominionConfig.sol | 1137 ++++-----
.../src/codegen/world/IActionSystem.sol | 8 +-
.../src/codegen/world/ICharacterSystem.sol | 40 +-
.../src/codegen/world/ICombatSystem.sol | 60 +-
.../src/codegen/world/IEquipmentSystem.sol | 19 +-
.../src/codegen/world/IItemsSystem.sol | 46 +-
.../src/codegen/world/ILootManagerSystem.sol | 19 +
.../src/codegen/world/IMapSystem.sol | 11 +-
.../src/codegen/world/IMobSystem.sol | 35 +-
.../world/IUltimateDominionConfigSystem.sol | 14 +-
.../contracts/src/codegen/world/IWorld.sol | 40 +-
.../contracts/src/systems/CombatSystem.sol | 4 +
.../src/systems/LootManagerSystem.sol | 90 +
40 files changed, 9758 insertions(+), 9522 deletions(-)
create mode 100644 packages/contracts/src/codegen/world/ILootManagerSystem.sol
create mode 100644 packages/contracts/src/systems/LootManagerSystem.sol
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
index 101bc3284..724a49294 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
@@ -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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061497d806100206000396000f3fe6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea2646970667358221220051bc834708e24c962533671ce7dfc8684d60a0ba120aa18f2c998d413db9df964736f6c63430008180033","sourceMap":"1812:6250:212:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea2646970667358221220051bc834708e24c962533671ce7dfc8684d60a0ba120aa18f2c998d413db9df964736f6c63430008180033","sourceMap":"1812:6250:212:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:212;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:230;;;345:74;;333:2;318:18;2973:144:212;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:230;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:230;7936:124:212;;;;;;;;;;-1:-1:-1;7936:124:212;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;4111:837:212:-;;;;;;;;;;-1:-1:-1;4111:837:212;;;;;:::i;:::-;;:::i;:::-;;;4284:25:230;;;4272:2;4257:18;4111:837:212;4138:177:230;6106:492:212;;;;;;;;;;-1:-1:-1;6106:492:212;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:212;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:212;;;;;;;;;;-1:-1:-1;1853:130:212;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:212;;;;;:::i;:::-;;:::i;4954:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:212;;;;;:::i;:::-;;:::i;3542:212::-;;;;;;;;;;-1:-1:-1;3542:212:212;;;;;:::i;:::-;;:::i;6604:219::-;;;;;;;;;;-1:-1:-1;6604:219:212;;;;;:::i;:::-;;:::i;5505:595::-;;;;;;;;;;-1:-1:-1;5505:595:212;;;;;:::i;:::-;;:::i;7669:125::-;;;;;;;;;;-1:-1:-1;7669:125:212;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7800:130:212:-;;;;;;;;;;-1:-1:-1;7800:130:212;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:212;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7936:124:212:-;7996:16;;:::i;:::-;8031:22;8041:11;8031:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;4111:837:212:-;4221:19;4256:24;4283:28;:26;:28::i;:::-;4256:55;-1:-1:-1;4348:16:212;4329:35;;4321:83;;;;-1:-1:-1;;;4321:83:212;;6255:2:230;4321:83:212;;;6237:21:230;6294:2;6274:18;;;6267:30;6333:34;6313:18;;;6306:62;6404:5;6384:18;;;6377:33;6427:19;;4321:83:212;;;;;;;;;4421:8;:6;:8::i;:::-;-1:-1:-1;;;;;4414:21:212;;4449:37;4465:20;4449:15;:37::i;:::-;4488:65;;-1:-1:-1;;;;;6649:55:230;;4488:65:212;;;6631:74:230;6721:18;;;6714:34;;;6604:18;;4488:65:212;;;-1:-1:-1;;4488:65:212;;;;;;;;;;;;;;;;;;;;4414:149;;4488:65;4414:149;;;;;;;;;4488:65;4414:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4414:149:212;;;;;;;;;;;;:::i;:::-;;4587:35;4605:16;4587:17;:35::i;:::-;4573:49;;4632:41;4652:11;4665:7;4632:19;:41::i;:::-;4683:52;4705:11;4718:16;4683:21;:52::i;:::-;4754:25;4774:4;4754:19;:25::i;:::-;4753:26;4745:58;;;;-1:-1:-1;;;4745:58:212;;8662:2:230;4745:58:212;;;8644:21:230;8701:2;8681:18;;;8674:30;8740:21;8720:18;;;8713:49;8779:18;;4745:58:212;8460:343:230;4745:58:212;4813:31;4833:4;4839;4813:19;:31::i;:::-;4854:37;4873:11;4886:4;4854:18;:37::i;:::-;4901:40;4914:16;4932:8;4901:12;:40::i;:::-;4246:702;4111:837;;;;;:::o;6106:492::-;6181:20;6231:14;6242:2;6231:10;:14::i;:::-;6217:10;:28;6213:379;;-1:-1:-1;6276:2:212;6106:492;;;:::o;6213:379::-;6314:9;6309:273;6329:2;6325:1;:6;6309:273;;;6373:10;6356:13;6367:1;6356:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6407:10:212;6387:17;6398:5;:1;6402;6398:5;:::i;:::-;6387:10;:17::i;:::-;:30;6356:61;6352:155;;;6456:5;:1;6460;6456:5;:::i;:::-;6441:20;;6483:5;;6352:155;6546:3;;;;:::i;:::-;;;;6309:273;;;;6106:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:212;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:212;;3385:7;3359:34;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;3359:34:212;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:212;;;;;;;;-1:-1:-1;;3359:34:212;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:212;;3462:7;3436:34;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;3436:34:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:212;:7;-1:-1:-1;;;;;3506:23:212;;3499:30;;;;;3123:413;;;:::o;4954:545::-;5069:33;5090:11;5069:20;:33::i;:::-;5068:34;5060:90;;;;-1:-1:-1;;;5060:90:212;;9785:2:230;5060:90:212;;;9767:21:230;9824:2;9804:18;;;9797:30;9863:34;9843:18;;;9836:62;9934:13;9914:18;;;9907:41;9965:19;;5060:90:212;9583:407:230;5060:90:212;5168:21;5177:11;5168:8;:21::i;:::-;5160:53;;;;-1:-1:-1;;;5160:53:212;;10197:2:230;5160:53:212;;;10179:21:230;10236:2;10216:18;;;10209:30;10275:21;10255:18;;;10248:49;10314:18;;5160:53:212;9995:343:230;5160:53:212;5223:26;5291:34;5306:11;5319:5;5291:14;:34::i;:::-;5382:110;5435:16;5453:11;5477;5466:23;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;5466:23:212;;;;-1:-1:-1;;5466:23:212;;;;;;;;;;5400:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5400:91:212;;;;;;;;;;;;;;;;;;;;5382:17;:110::i;:::-;;5050:449;4954:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:212;;2614:16;2588:43;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;2588:43:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:212;:55;;;;;;-1:-1:-1;;2460:266:212:o;3542:212::-;3621:4;3644:31;3663:11;3644:18;:31::i;:::-;:103;;;;;3742:5;-1:-1:-1;;;;;3679:68:212;:17;:15;:17::i;:::-;:59;;;;;2830:37;;;3679:59;;;4284:25:230;-1:-1:-1;;;;;3679:25:212;;;;;;;4257:18:230;;3679:59:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3679:68:212;;3644:103;3637:110;3542:212;-1:-1:-1;;;3542:212:212:o;6604:219::-;6698:21;6707:11;6698:8;:21::i;:::-;6690:60;;;;-1:-1:-1;;;6690:60:212;;10974:2:230;6690:60:212;;;10956:21:230;11013:2;10993:18;;;10986:30;11052:28;11032:18;;;11025:56;11098:18;;6690:60:212;10772:350:230;6690:60:212;6760:56;2830:37;;;6807:8;6760:12;:56::i;:::-;6604:219;;:::o;5505:595::-;5570:21;5579:11;5570:8;:21::i;:::-;5562:52;;;;-1:-1:-1;;;5562:52:212;;11329:2:230;5562:52:212;;;11311:21:230;11368:2;11348:18;;;11341:30;11407:20;11387:18;;;11380:48;11445:18;;5562:52:212;11127:342:230;5562:52:212;5633:33;5654:11;5633:20;:33::i;:::-;5632:34;5624:72;;;;-1:-1:-1;;;5624:72:212;;11676:2:230;5624:72:212;;;11658:21:230;11715:2;11695:18;;;11688:30;11754:27;11734:18;;;11727:55;11799:18;;5624:72:212;11474:349:230;5624:72:212;5706:26;5735:22;5745:11;5735:9;:22::i;:::-;5785:1;5767:15;;;:19;5825:23;;;;5796:19;;;:53;5706:51;-1:-1:-1;5859:33:212;5869:11;5706:51;5859:9;:33::i;:::-;5909:8;:6;:8::i;:::-;5902:51;;;;;;;;12028:25:230;;;5945:7:212;12069:18:230;;;12062:34;-1:-1:-1;;;;;5902:29:212;;;;;;;12001:18:230;;5902:51:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:8;:6;:8::i;:::-;-1:-1:-1;;;;;5993:38:212;;6032:11;5993:51;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;5993:51:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6054:39;6075:11;6088:4;6054:20;:39::i;7669:125::-;7729:7;7755:32;7775:11;7755:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7800:130:212:-;7865:7;7891:32;7911:11;7891:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;7003:347:212:-;7059:7;7078:25;7106:42;:40;:42::i;:::-;7078:70;;7158:24;7185:50;7213:17;7233:1;7185:19;:50::i;:::-;:54;;7238:1;7185:54;:::i;:::-;7158:81;;7249:61;7269:17;7288:1;7292:16;7249:19;:61::i;1157:186:221:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12445:2:230;12441:15;;;;-1:-1:-1;;12437:88:230;12425:101;;12551:2;12542:12;;12296:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12903:14:230;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;6829:168:212;6911:79;6932:38;6949:20;6932:16;:38::i;:::-;6972:7;6981:8;6911:20;:79::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:212:-;2329:30;2404:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7496:167:212:-;7558:4;7597:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7597:59;;;4284:25:230;-1:-1:-1;;;;;7597:25:212;;;;;;;4257:18:230;;7597:59:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7581:75:212;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7581:75:212;;;7496:167;-1:-1:-1;;7496:167:212:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;13290:3:230;13286:16;;;;13304:66;13282:89;13270:102;;13397:1;13388:11;;13145:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13966:98:230;13939:18;;3713:52:107;13822:248:230;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:195:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:195;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:195;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12903:14:230;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:195:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26250:12:230;26289:15;;;45340:92:45;;;26271:34:230;26341:15;;;26321:18;;;26314:43;26393:15;;26373:18;;;26366:43;26213:18;;45340:92:45;26044:371:230;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26593:25:230;;;26666:12;26654:25;;26634:18;;;26627:53;26566:18;;45581:74:45;26420:266:230;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28531:79:230;;2092:30:124;;;28519:92:230;2092:30:124;;28627:12:230;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29374:19:230;;;29409:12;;;29402:28;;;51337:7:45;;29446:12:230;;51494:30:45;29185:279:230;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:230;;;4257:18;;7664:67:24;4138:177:230;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:230:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:230;;14:180;-1:-1:-1;14:180:230:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:230;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:230;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:230;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:230;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:230;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:230:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:230;3037:15;-1:-1:-1;;3033:88:230;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:230:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:230;3925:18;;3912:32;;-1:-1:-1;3995:2:230;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:315::-;5406:6;5414;5467:2;5455:9;5446:7;5442:23;5438:32;5435:52;;;5483:1;5480;5473:12;5435:52;5519:9;5506:23;5496:33;;5579:2;5568:9;5564:18;5551:32;5592:31;5617:5;5592:31;:::i;:::-;5642:5;5632:15;;;5338:315;;;;;:::o;5658:390::-;5736:6;5744;5797:2;5785:9;5776:7;5772:23;5768:32;5765:52;;;5813:1;5810;5803:12;5765:52;5849:9;5836:23;5826:33;;5910:2;5899:9;5895:18;5882:32;5937:18;5929:6;5926:30;5923:50;;;5969:1;5966;5959:12;5923:50;5992;6034:7;6025:6;6014:9;6010:22;5992:50;:::i;:::-;5982:60;;;5658:390;;;;;:::o;6759:250::-;6844:1;6854:113;6868:6;6865:1;6862:13;6854:113;;;6944:11;;;6938:18;6925:11;;;6918:39;6890:2;6883:10;6854:113;;;-1:-1:-1;;7001:1:230;6983:16;;6976:27;6759:250::o;7014:329::-;7055:3;7093:5;7087:12;7120:6;7115:3;7108:19;7136:76;7205:6;7198:4;7193:3;7189:14;7182:4;7175:5;7171:16;7136:76;:::i;:::-;7257:2;7245:15;-1:-1:-1;;7241:88:230;7232:98;;;;7332:4;7228:109;;7014:329;-1:-1:-1;;7014:329:230:o;7348:320::-;7555:6;7544:9;7537:25;7598:2;7593;7582:9;7578:18;7571:30;7518:4;7618:44;7658:2;7647:9;7643:18;7635:6;7618:44;:::i;7673:442::-;7726:5;7779:3;7772:4;7764:6;7760:17;7756:27;7746:55;;7797:1;7794;7787:12;7746:55;7826:6;7820:13;7857:49;7873:32;7902:2;7873:32;:::i;7857:49::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8007:77;8081:2;8074:4;8065:7;8061:18;8054:4;8046:6;8042:17;8007:77;:::i;8120:335::-;8199:6;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8301:9;8295:16;8334:18;8326:6;8323:30;8320:50;;;8366:1;8363;8356:12;8320:50;8389:60;8441:7;8432:6;8421:9;8417:22;8389:60;:::i;8808:184::-;-1:-1:-1;;;8857:1:230;8850:88;8957:4;8954:1;8947:15;8981:4;8978:1;8971:15;8997:125;9062:9;;;9083:10;;;9080:36;;;9096:18;;:::i;9127:195::-;9166:3;-1:-1:-1;;9190:5:230;9187:77;9184:103;;9267:18;;:::i;:::-;-1:-1:-1;9314:1:230;9303:13;;9127:195::o;9327:251::-;9397:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:52;;;9466:1;9463;9456:12;9418:52;9498:9;9492:16;9517:31;9542:5;9517:31;:::i;10343:424::-;10565:6;10554:9;10547:25;10581:37;10611:6;10581:37;:::i;:::-;10654:6;10649:2;10638:9;10634:18;10627:34;10697:2;10692;10681:9;10677:18;10670:30;10528:4;10717:44;10757:2;10746:9;10742:18;10734:6;10717:44;:::i;12107:184::-;-1:-1:-1;;;12156:1:230;12149:88;12256:4;12253:1;12246:15;12280:4;12277:1;12270:15;13410:407;13493:5;13533;13527:12;13575:4;13568:5;13564:16;13558:23;13600:66;13692:2;13688;13684:11;13675:20;;13718:1;13710:6;13707:13;13704:107;;;13798:2;13792;13782:6;13779:1;13775:14;13772:1;13768:22;13764:31;13760:2;13756:40;13752:49;13743:58;;13704:107;;;;13410:407;;;:::o;14075:439::-;14128:3;14166:5;14160:12;14193:6;14188:3;14181:19;14219:4;14248;14243:3;14239:14;14232:21;;14287:4;14280:5;14276:16;14310:1;14320:169;14334:6;14331:1;14328:13;14320:169;;;14395:13;;14383:26;;14429:12;;;;14464:15;;;;14356:1;14349:9;14320:169;;;-1:-1:-1;14505:3:230;;14075:439;-1:-1:-1;;;;;14075:439:230:o;14519:468::-;14819:6;14808:9;14801:25;14862:2;14857;14846:9;14842:18;14835:30;14782:4;14882:56;14934:2;14923:9;14919:18;14911:6;14882:56;:::i;:::-;14874:64;;14974:6;14969:2;14958:9;14954:18;14947:34;14519:468;;;;;;:::o;14992:655::-;15134:6;15142;15150;15203:2;15191:9;15182:7;15178:23;15174:32;15171:52;;;15219:1;15216;15209:12;15171:52;15252:9;15246:16;15281:18;15322:2;15314:6;15311:14;15308:34;;;15338:1;15335;15328:12;15308:34;15361:60;15413:7;15404:6;15393:9;15389:22;15361:60;:::i;:::-;15351:70;;15461:2;15450:9;15446:18;15440:25;15430:35;;15511:2;15500:9;15496:18;15490:25;15474:41;;15540:2;15530:8;15527:16;15524:36;;;15556:1;15553;15546:12;15524:36;;15579:62;15633:7;15622:8;15611:9;15607:24;15579:62;:::i;15652:709::-;16022:6;16011:9;16004:25;16065:3;16060:2;16049:9;16045:18;16038:31;15985:4;16092:57;16144:3;16133:9;16129:19;16121:6;16092:57;:::i;:::-;16197:4;16189:6;16185:17;16180:2;16169:9;16165:18;16158:45;16251:9;16243:6;16239:22;16234:2;16223:9;16219:18;16212:50;16279:32;16304:6;16296;16279:32;:::i;:::-;16271:40;;;16348:6;16342:3;16331:9;16327:19;16320:35;15652:709;;;;;;;;:::o;16366:548::-;16690:6;16679:9;16672:25;16733:3;16728:2;16717:9;16713:18;16706:31;16653:4;16754:57;16806:3;16795:9;16791:19;16783:6;16754:57;:::i;:::-;16859:4;16847:17;;;;16842:2;16827:18;;16820:45;-1:-1:-1;16896:2:230;16881:18;16874:34;16746:65;16366:548;-1:-1:-1;;16366:548:230:o;16919:184::-;16989:6;17042:2;17030:9;17021:7;17017:23;17013:32;17010:52;;;17058:1;17055;17048:12;17010:52;-1:-1:-1;17081:16:230;;16919:184;-1:-1:-1;16919:184:230:o;17108:707::-;17455:6;17450:3;17443:19;17492:6;17487:2;17482:3;17478:12;17471:28;17508:37;17538:6;17508:37;:::i;:::-;17579:3;17575:16;;;;17570:2;17561:12;;17554:38;17617:2;17608:12;;17601:28;;;;17654:2;17645:12;;17638:28;;;;17691:3;17682:13;;17675:29;17729:3;17720:13;;17713:29;17767:3;17758:13;;17751:29;17805:3;17796:13;;17108:707;-1:-1:-1;;17108:707:230:o;17820:794::-;18215:6;18204:9;18197:25;18258:3;18253:2;18242:9;18238:18;18231:31;18178:4;18285:57;18337:3;18326:9;18322:19;18314:6;18285:57;:::i;:::-;18390:9;18382:6;18378:22;18373:2;18362:9;18358:18;18351:50;18424:32;18449:6;18441;18424:32;:::i;:::-;18410:46;;18492:6;18487:2;18476:9;18472:18;18465:34;18548:9;18540:6;18536:22;18530:3;18519:9;18515:19;18508:51;18576:32;18601:6;18593;18576:32;:::i;:::-;18568:40;17820:794;-1:-1:-1;;;;;;;;17820:794:230:o;18619:175::-;18656:3;18700:4;18693:5;18689:16;18729:4;18720:7;18717:17;18714:43;;18737:18;;:::i;:::-;18786:1;18773:15;;18619:175;-1:-1:-1;;18619:175:230:o;18799:604::-;19108:6;19097:9;19090:25;19151:3;19146:2;19135:9;19131:18;19124:31;19071:4;19178:57;19230:3;19219:9;19215:19;19207:6;19178:57;:::i;:::-;19283:4;19275:6;19271:17;19266:2;19255:9;19251:18;19244:45;19337:9;19329:6;19325:22;19320:2;19309:9;19305:18;19298:50;19365:32;19390:6;19382;19365:32;:::i;:::-;19357:40;18799:604;-1:-1:-1;;;;;;;18799:604:230:o;19735:128::-;19802:9;;;19823:11;;;19820:37;;;19837:18;;:::i;19868:168::-;19941:9;;;19972;;19989:15;;;19983:22;;19969:37;19959:71;;20010:18;;:::i;20041:640::-;20292:6;20287:3;20280:19;20262:3;20318:2;20351;20346:3;20342:12;20383:6;20377:13;20448:2;20440:6;20436:15;20469:1;20479:175;20493:6;20490:1;20487:13;20479:175;;;20556:13;;20542:28;;20592:14;;;;20629:15;;;;20515:1;20508:9;20479:175;;;-1:-1:-1;20670:5:230;;20041:640;-1:-1:-1;;;;;;;20041:640:230:o;20686:184::-;-1:-1:-1;;;20735:1:230;20728:88;20835:4;20832:1;20825:15;20859:4;20856:1;20849:15;20875:511;21126:2;21115:9;21108:21;21089:4;21152:56;21204:2;21193:9;21189:18;21181:6;21152:56;:::i;:::-;21256:14;21248:6;21244:27;21239:2;21228:9;21224:18;21217:55;21320:9;21312:6;21308:22;21303:2;21292:9;21288:18;21281:50;21348:32;21373:6;21365;21348:32;:::i;21391:616::-;21702:6;21691:9;21684:25;21745:3;21740:2;21729:9;21725:18;21718:31;21665:4;21772:57;21824:3;21813:9;21809:19;21801:6;21772:57;:::i;:::-;21877:14;21869:6;21865:27;21860:2;21849:9;21845:18;21838:55;21941:9;21933:6;21929:22;21924:2;21913:9;21909:18;21902:50;21969:32;21994:6;21986;21969:32;:::i;22012:925::-;22461:66;22453:6;22449:79;22444:3;22437:92;22419:3;22548;22580:2;22576:1;22571:3;22567:11;22560:23;22612:6;22606:13;22628:74;22695:6;22691:1;22686:3;22682:11;22675:4;22667:6;22663:17;22628:74;:::i;:::-;22730:6;22725:3;22721:16;22711:26;;22765:2;22761:1;22757:2;22753:10;22746:22;22799:6;22793:13;22777:29;;22815:75;22881:8;22877:1;22873:2;22869:10;22862:4;22854:6;22850:17;22815:75;:::i;:::-;22910:17;22929:1;22906:25;;22012:925;-1:-1:-1;;;;;22012:925:230:o;22942:339::-;23119:2;23108:9;23101:21;23082:4;23139:44;23179:2;23168:9;23164:18;23156:6;23139:44;:::i;:::-;23131:52;;-1:-1:-1;;;;;23223:6:230;23219:55;23214:2;23203:9;23199:18;23192:83;22942:339;;;;;:::o;23286:287::-;23415:3;23453:6;23447:13;23469:66;23528:6;23523:3;23516:4;23508:6;23504:17;23469:66;:::i;:::-;23551:16;;;;;23286:287;-1:-1:-1;;23286:287:230:o;23578:690::-;23913:3;23902:9;23895:22;23876:4;23940:57;23992:3;23981:9;23977:19;23969:6;23940:57;:::i;:::-;24045:9;24037:6;24033:22;24028:2;24017:9;24013:18;24006:50;24079:32;24104:6;24096;24079:32;:::i;:::-;24065:46;;24147:6;24142:2;24131:9;24127:18;24120:34;24202:9;24194:6;24190:22;24185:2;24174:9;24170:18;24163:50;24230:32;24255:6;24247;24230:32;:::i;24273:899::-;24729:6;24718:9;24711:25;24772:3;24767:2;24756:9;24752:18;24745:31;24692:4;24799:57;24851:3;24840:9;24836:19;24828:6;24799:57;:::i;:::-;24904:9;24896:6;24892:22;24887:2;24876:9;24872:18;24865:50;24938:32;24963:6;24955;24938:32;:::i;:::-;24924:46;;25006:6;25001:2;24990:9;24986:18;24979:34;25062:9;25054:6;25050:22;25044:3;25033:9;25029:19;25022:51;25090:32;25115:6;25107;25090:32;:::i;:::-;25082:40;;;25159:6;25153:3;25142:9;25138:19;25131:35;24273:899;;;;;;;;;:::o;25396:464::-;25643:66;25635:6;25631:79;25620:9;25613:98;25747:6;25742:2;25731:9;25727:18;25720:34;25790:2;25785;25774:9;25770:18;25763:30;25594:4;25810:44;25850:2;25839:9;25835:18;25827:6;25810:44;:::i;25865:174::-;25932:12;25964:10;;;25976;;;25960:27;;25999:11;;;25996:37;;;26013:18;;:::i;:::-;25996:37;25865:174;;;;:::o;26691:901::-;27116:6;27105:9;27098:25;27159:3;27154:2;27143:9;27139:18;27132:31;27079:4;27186:57;27238:3;27227:9;27223:19;27215:6;27186:57;:::i;:::-;27291:4;27279:17;;27274:2;27259:18;;27252:45;27316:12;27364:15;;;27359:2;27344:18;;27337:43;27417:15;;27411:3;27396:19;;27389:44;27464:3;27449:19;;27442:35;;;27514:22;;;27508:3;27493:19;;27486:51;27554:32;27518:6;27571;27554:32;:::i;:::-;27546:40;26691:901;-1:-1:-1;;;;;;;;;;26691:901:230:o;27597:788::-;27962:3;27951:9;27944:22;27925:4;27989:57;28041:3;28030:9;28026:19;28018:6;27989:57;:::i;:::-;28094:4;28086:6;28082:17;28077:2;28066:9;28062:18;28055:45;28148:14;28140:6;28136:27;28131:2;28120:9;28116:18;28109:55;28212:12;28204:6;28200:25;28195:2;28184:9;28180:18;28173:53;28263:6;28257:3;28246:9;28242:19;28235:35;28319:9;28311:6;28307:22;28301:3;28290:9;28286:19;28279:51;28347:32;28372:6;28364;28347:32;:::i;:::-;28339:40;27597:788;-1:-1:-1;;;;;;;;;27597:788:230:o;28650:530::-;28835:3;28873:6;28867:13;28889:66;28948:6;28943:3;28936:4;28928:6;28924:17;28889:66;:::i;:::-;29024:2;29020:15;;;;-1:-1:-1;;29016:88:230;28977:16;;;;29002:103;;;29132:2;29121:14;;29114:30;;;;29171:2;29160:14;;28650:530;-1:-1:-1;;28650:530:230:o;29469:359::-;29672:2;29661:9;29654:21;29635:4;29692:44;29732:2;29721:9;29717:18;29709:6;29692:44;:::i;:::-;29767:2;29752:18;;29745:34;;;;-1:-1:-1;29810:2:230;29795:18;29788:34;29684:52;29469:359;-1:-1:-1;29469:359:230:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","isValidOwner(bytes32,address)":"9b63ec05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465\",\"dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488","urls":["bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465","dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":212}
\ No newline at end of file
+{"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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061497d806100206000396000f3fe6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea26469706673582212204deccb9419a7b573ca2234043bad6b29d39c7da804e610638a434a8c790364dd64736f6c63430008180033","sourceMap":"1812:6250:212:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea26469706673582212204deccb9419a7b573ca2234043bad6b29d39c7da804e610638a434a8c790364dd64736f6c63430008180033","sourceMap":"1812:6250:212:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:212;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:229;;;345:74;;333:2;318:18;2973:144:212;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:229;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:229;7936:124:212;;;;;;;;;;-1:-1:-1;7936:124:212;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;4111:837:212:-;;;;;;;;;;-1:-1:-1;4111:837:212;;;;;:::i;:::-;;:::i;:::-;;;4284:25:229;;;4272:2;4257:18;4111:837:212;4138:177:229;6106:492:212;;;;;;;;;;-1:-1:-1;6106:492:212;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:212;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:212;;;;;;;;;;-1:-1:-1;1853:130:212;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:212;;;;;:::i;:::-;;:::i;4954:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:212;;;;;:::i;:::-;;:::i;3542:212::-;;;;;;;;;;-1:-1:-1;3542:212:212;;;;;:::i;:::-;;:::i;6604:219::-;;;;;;;;;;-1:-1:-1;6604:219:212;;;;;:::i;:::-;;:::i;5505:595::-;;;;;;;;;;-1:-1:-1;5505:595:212;;;;;:::i;:::-;;:::i;7669:125::-;;;;;;;;;;-1:-1:-1;7669:125:212;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7800:130:212:-;;;;;;;;;;-1:-1:-1;7800:130:212;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:212;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7936:124:212:-;7996:16;;:::i;:::-;8031:22;8041:11;8031:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;4111:837:212:-;4221:19;4256:24;4283:28;:26;:28::i;:::-;4256:55;-1:-1:-1;4348:16:212;4329:35;;4321:83;;;;-1:-1:-1;;;4321:83:212;;6255:2:229;4321:83:212;;;6237:21:229;6294:2;6274:18;;;6267:30;6333:34;6313:18;;;6306:62;6404:5;6384:18;;;6377:33;6427:19;;4321:83:212;;;;;;;;;4421:8;:6;:8::i;:::-;-1:-1:-1;;;;;4414:21:212;;4449:37;4465:20;4449:15;:37::i;:::-;4488:65;;-1:-1:-1;;;;;6649:55:229;;4488:65:212;;;6631:74:229;6721:18;;;6714:34;;;6604:18;;4488:65:212;;;-1:-1:-1;;4488:65:212;;;;;;;;;;;;;;;;;;;;4414:149;;4488:65;4414:149;;;;;;;;;4488:65;4414:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4414:149:212;;;;;;;;;;;;:::i;:::-;;4587:35;4605:16;4587:17;:35::i;:::-;4573:49;;4632:41;4652:11;4665:7;4632:19;:41::i;:::-;4683:52;4705:11;4718:16;4683:21;:52::i;:::-;4754:25;4774:4;4754:19;:25::i;:::-;4753:26;4745:58;;;;-1:-1:-1;;;4745:58:212;;8662:2:229;4745:58:212;;;8644:21:229;8701:2;8681:18;;;8674:30;8740:21;8720:18;;;8713:49;8779:18;;4745:58:212;8460:343:229;4745:58:212;4813:31;4833:4;4839;4813:19;:31::i;:::-;4854:37;4873:11;4886:4;4854:18;:37::i;:::-;4901:40;4914:16;4932:8;4901:12;:40::i;:::-;4246:702;4111:837;;;;;:::o;6106:492::-;6181:20;6231:14;6242:2;6231:10;:14::i;:::-;6217:10;:28;6213:379;;-1:-1:-1;6276:2:212;6106:492;;;:::o;6213:379::-;6314:9;6309:273;6329:2;6325:1;:6;6309:273;;;6373:10;6356:13;6367:1;6356:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6407:10:212;6387:17;6398:5;:1;6402;6398:5;:::i;:::-;6387:10;:17::i;:::-;:30;6356:61;6352:155;;;6456:5;:1;6460;6456:5;:::i;:::-;6441:20;;6483:5;;6352:155;6546:3;;;;:::i;:::-;;;;6309:273;;;;6106:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:212;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:212;;3385:7;3359:34;;;;;;;;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;3359:34:212;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:212;;;;;;;;-1:-1:-1;;3359:34:212;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:212;;3462:7;3436:34;;;;;;;;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;3436:34:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:212;:7;-1:-1:-1;;;;;3506:23:212;;3499:30;;;;;3123:413;;;:::o;4954:545::-;5069:33;5090:11;5069:20;:33::i;:::-;5068:34;5060:90;;;;-1:-1:-1;;;5060:90:212;;9785:2:229;5060:90:212;;;9767:21:229;9824:2;9804:18;;;9797:30;9863:34;9843:18;;;9836:62;9934:13;9914:18;;;9907:41;9965:19;;5060:90:212;9583:407:229;5060:90:212;5168:21;5177:11;5168:8;:21::i;:::-;5160:53;;;;-1:-1:-1;;;5160:53:212;;10197:2:229;5160:53:212;;;10179:21:229;10236:2;10216:18;;;10209:30;10275:21;10255:18;;;10248:49;10314:18;;5160:53:212;9995:343:229;5160:53:212;5223:26;5291:34;5306:11;5319:5;5291:14;:34::i;:::-;5382:110;5435:16;5453:11;5477;5466:23;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;5466:23:212;;;;-1:-1:-1;;5466:23:212;;;;;;;;;;5400:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5400:91:212;;;;;;;;;;;;;;;;;;;;5382:17;:110::i;:::-;;5050:449;4954:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:212;;2614:16;2588:43;;;;;;;;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;2588:43:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:212;:55;;;;;;-1:-1:-1;;2460:266:212:o;3542:212::-;3621:4;3644:31;3663:11;3644:18;:31::i;:::-;:103;;;;;3742:5;-1:-1:-1;;;;;3679:68:212;:17;:15;:17::i;:::-;:59;;;;;2830:37;;;3679:59;;;4284:25:229;-1:-1:-1;;;;;3679:25:212;;;;;;;4257:18:229;;3679:59:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3679:68:212;;3644:103;3637:110;3542:212;-1:-1:-1;;;3542:212:212:o;6604:219::-;6698:21;6707:11;6698:8;:21::i;:::-;6690:60;;;;-1:-1:-1;;;6690:60:212;;10974:2:229;6690:60:212;;;10956:21:229;11013:2;10993:18;;;10986:30;11052:28;11032:18;;;11025:56;11098:18;;6690:60:212;10772:350:229;6690:60:212;6760:56;2830:37;;;6807:8;6760:12;:56::i;:::-;6604:219;;:::o;5505:595::-;5570:21;5579:11;5570:8;:21::i;:::-;5562:52;;;;-1:-1:-1;;;5562:52:212;;11329:2:229;5562:52:212;;;11311:21:229;11368:2;11348:18;;;11341:30;11407:20;11387:18;;;11380:48;11445:18;;5562:52:212;11127:342:229;5562:52:212;5633:33;5654:11;5633:20;:33::i;:::-;5632:34;5624:72;;;;-1:-1:-1;;;5624:72:212;;11676:2:229;5624:72:212;;;11658:21:229;11715:2;11695:18;;;11688:30;11754:27;11734:18;;;11727:55;11799:18;;5624:72:212;11474:349:229;5624:72:212;5706:26;5735:22;5745:11;5735:9;:22::i;:::-;5785:1;5767:15;;;:19;5825:23;;;;5796:19;;;:53;5706:51;-1:-1:-1;5859:33:212;5869:11;5706:51;5859:9;:33::i;:::-;5909:8;:6;:8::i;:::-;5902:51;;;;;;;;12028:25:229;;;5945:7:212;12069:18:229;;;12062:34;-1:-1:-1;;;;;5902:29:212;;;;;;;12001:18:229;;5902:51:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:8;:6;:8::i;:::-;-1:-1:-1;;;;;5993:38:212;;6032:11;5993:51;;;;;;;;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;5993:51:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6054:39;6075:11;6088:4;6054:20;:39::i;7669:125::-;7729:7;7755:32;7775:11;7755:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7800:130:212:-;7865:7;7891:32;7911:11;7891:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;7003:347:212:-;7059:7;7078:25;7106:42;:40;:42::i;:::-;7078:70;;7158:24;7185:50;7213:17;7233:1;7185:19;:50::i;:::-;:54;;7238:1;7185:54;:::i;:::-;7158:81;;7249:61;7269:17;7288:1;7292:16;7249:19;:61::i;1157:186:220:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12445:2:229;12441:15;;;;-1:-1:-1;;12437:88:229;12425:101;;12551:2;12542:12;;12296:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12903:14:229;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;6829:168:212;6911:79;6932:38;6949:20;6932:16;:38::i;:::-;6972:7;6981:8;6911:20;:79::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:212:-;2329:30;2404:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7496:167:212:-;7558:4;7597:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7597:59;;;4284:25:229;-1:-1:-1;;;;;7597:25:212;;;;;;;4257:18:229;;7597:59:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7581:75:212;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7581:75:212;;;7496:167;-1:-1:-1;;7496:167:212:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;13290:3:229;13286:16;;;;13304:66;13282:89;13270:102;;13397:1;13388:11;;13145:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13966:98:229;13939:18;;3713:52:107;13822:248:229;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:195:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:195;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:195;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12903:14:229;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:195:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26250:12:229;26289:15;;;45340:92:45;;;26271:34:229;26341:15;;;26321:18;;;26314:43;26393:15;;26373:18;;;26366:43;26213:18;;45340:92:45;26044:371:229;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26593:25:229;;;26666:12;26654:25;;26634:18;;;26627:53;26566:18;;45581:74:45;26420:266:229;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28531:79:229;;2092:30:124;;;28519:92:229;2092:30:124;;28627:12:229;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29374:19:229;;;29409:12;;;29402:28;;;51337:7:45;;29446:12:229;;51494:30:45;29185:279:229;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:229;;;4257:18;;7664:67:24;4138:177:229;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:229:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:229;;14:180;-1:-1:-1;14:180:229:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:229;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:229;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:229;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:229;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:229;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:229:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:229;3037:15;-1:-1:-1;;3033:88:229;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:229:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:229;3925:18;;3912:32;;-1:-1:-1;3995:2:229;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:315::-;5406:6;5414;5467:2;5455:9;5446:7;5442:23;5438:32;5435:52;;;5483:1;5480;5473:12;5435:52;5519:9;5506:23;5496:33;;5579:2;5568:9;5564:18;5551:32;5592:31;5617:5;5592:31;:::i;:::-;5642:5;5632:15;;;5338:315;;;;;:::o;5658:390::-;5736:6;5744;5797:2;5785:9;5776:7;5772:23;5768:32;5765:52;;;5813:1;5810;5803:12;5765:52;5849:9;5836:23;5826:33;;5910:2;5899:9;5895:18;5882:32;5937:18;5929:6;5926:30;5923:50;;;5969:1;5966;5959:12;5923:50;5992;6034:7;6025:6;6014:9;6010:22;5992:50;:::i;:::-;5982:60;;;5658:390;;;;;:::o;6759:250::-;6844:1;6854:113;6868:6;6865:1;6862:13;6854:113;;;6944:11;;;6938:18;6925:11;;;6918:39;6890:2;6883:10;6854:113;;;-1:-1:-1;;7001:1:229;6983:16;;6976:27;6759:250::o;7014:329::-;7055:3;7093:5;7087:12;7120:6;7115:3;7108:19;7136:76;7205:6;7198:4;7193:3;7189:14;7182:4;7175:5;7171:16;7136:76;:::i;:::-;7257:2;7245:15;-1:-1:-1;;7241:88:229;7232:98;;;;7332:4;7228:109;;7014:329;-1:-1:-1;;7014:329:229:o;7348:320::-;7555:6;7544:9;7537:25;7598:2;7593;7582:9;7578:18;7571:30;7518:4;7618:44;7658:2;7647:9;7643:18;7635:6;7618:44;:::i;7673:442::-;7726:5;7779:3;7772:4;7764:6;7760:17;7756:27;7746:55;;7797:1;7794;7787:12;7746:55;7826:6;7820:13;7857:49;7873:32;7902:2;7873:32;:::i;7857:49::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8007:77;8081:2;8074:4;8065:7;8061:18;8054:4;8046:6;8042:17;8007:77;:::i;8120:335::-;8199:6;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8301:9;8295:16;8334:18;8326:6;8323:30;8320:50;;;8366:1;8363;8356:12;8320:50;8389:60;8441:7;8432:6;8421:9;8417:22;8389:60;:::i;8808:184::-;-1:-1:-1;;;8857:1:229;8850:88;8957:4;8954:1;8947:15;8981:4;8978:1;8971:15;8997:125;9062:9;;;9083:10;;;9080:36;;;9096:18;;:::i;9127:195::-;9166:3;-1:-1:-1;;9190:5:229;9187:77;9184:103;;9267:18;;:::i;:::-;-1:-1:-1;9314:1:229;9303:13;;9127:195::o;9327:251::-;9397:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:52;;;9466:1;9463;9456:12;9418:52;9498:9;9492:16;9517:31;9542:5;9517:31;:::i;10343:424::-;10565:6;10554:9;10547:25;10581:37;10611:6;10581:37;:::i;:::-;10654:6;10649:2;10638:9;10634:18;10627:34;10697:2;10692;10681:9;10677:18;10670:30;10528:4;10717:44;10757:2;10746:9;10742:18;10734:6;10717:44;:::i;12107:184::-;-1:-1:-1;;;12156:1:229;12149:88;12256:4;12253:1;12246:15;12280:4;12277:1;12270:15;13410:407;13493:5;13533;13527:12;13575:4;13568:5;13564:16;13558:23;13600:66;13692:2;13688;13684:11;13675:20;;13718:1;13710:6;13707:13;13704:107;;;13798:2;13792;13782:6;13779:1;13775:14;13772:1;13768:22;13764:31;13760:2;13756:40;13752:49;13743:58;;13704:107;;;;13410:407;;;:::o;14075:439::-;14128:3;14166:5;14160:12;14193:6;14188:3;14181:19;14219:4;14248;14243:3;14239:14;14232:21;;14287:4;14280:5;14276:16;14310:1;14320:169;14334:6;14331:1;14328:13;14320:169;;;14395:13;;14383:26;;14429:12;;;;14464:15;;;;14356:1;14349:9;14320:169;;;-1:-1:-1;14505:3:229;;14075:439;-1:-1:-1;;;;;14075:439:229:o;14519:468::-;14819:6;14808:9;14801:25;14862:2;14857;14846:9;14842:18;14835:30;14782:4;14882:56;14934:2;14923:9;14919:18;14911:6;14882:56;:::i;:::-;14874:64;;14974:6;14969:2;14958:9;14954:18;14947:34;14519:468;;;;;;:::o;14992:655::-;15134:6;15142;15150;15203:2;15191:9;15182:7;15178:23;15174:32;15171:52;;;15219:1;15216;15209:12;15171:52;15252:9;15246:16;15281:18;15322:2;15314:6;15311:14;15308:34;;;15338:1;15335;15328:12;15308:34;15361:60;15413:7;15404:6;15393:9;15389:22;15361:60;:::i;:::-;15351:70;;15461:2;15450:9;15446:18;15440:25;15430:35;;15511:2;15500:9;15496:18;15490:25;15474:41;;15540:2;15530:8;15527:16;15524:36;;;15556:1;15553;15546:12;15524:36;;15579:62;15633:7;15622:8;15611:9;15607:24;15579:62;:::i;15652:709::-;16022:6;16011:9;16004:25;16065:3;16060:2;16049:9;16045:18;16038:31;15985:4;16092:57;16144:3;16133:9;16129:19;16121:6;16092:57;:::i;:::-;16197:4;16189:6;16185:17;16180:2;16169:9;16165:18;16158:45;16251:9;16243:6;16239:22;16234:2;16223:9;16219:18;16212:50;16279:32;16304:6;16296;16279:32;:::i;:::-;16271:40;;;16348:6;16342:3;16331:9;16327:19;16320:35;15652:709;;;;;;;;:::o;16366:548::-;16690:6;16679:9;16672:25;16733:3;16728:2;16717:9;16713:18;16706:31;16653:4;16754:57;16806:3;16795:9;16791:19;16783:6;16754:57;:::i;:::-;16859:4;16847:17;;;;16842:2;16827:18;;16820:45;-1:-1:-1;16896:2:229;16881:18;16874:34;16746:65;16366:548;-1:-1:-1;;16366:548:229:o;16919:184::-;16989:6;17042:2;17030:9;17021:7;17017:23;17013:32;17010:52;;;17058:1;17055;17048:12;17010:52;-1:-1:-1;17081:16:229;;16919:184;-1:-1:-1;16919:184:229:o;17108:707::-;17455:6;17450:3;17443:19;17492:6;17487:2;17482:3;17478:12;17471:28;17508:37;17538:6;17508:37;:::i;:::-;17579:3;17575:16;;;;17570:2;17561:12;;17554:38;17617:2;17608:12;;17601:28;;;;17654:2;17645:12;;17638:28;;;;17691:3;17682:13;;17675:29;17729:3;17720:13;;17713:29;17767:3;17758:13;;17751:29;17805:3;17796:13;;17108:707;-1:-1:-1;;17108:707:229:o;17820:794::-;18215:6;18204:9;18197:25;18258:3;18253:2;18242:9;18238:18;18231:31;18178:4;18285:57;18337:3;18326:9;18322:19;18314:6;18285:57;:::i;:::-;18390:9;18382:6;18378:22;18373:2;18362:9;18358:18;18351:50;18424:32;18449:6;18441;18424:32;:::i;:::-;18410:46;;18492:6;18487:2;18476:9;18472:18;18465:34;18548:9;18540:6;18536:22;18530:3;18519:9;18515:19;18508:51;18576:32;18601:6;18593;18576:32;:::i;:::-;18568:40;17820:794;-1:-1:-1;;;;;;;;17820:794:229:o;18619:175::-;18656:3;18700:4;18693:5;18689:16;18729:4;18720:7;18717:17;18714:43;;18737:18;;:::i;:::-;18786:1;18773:15;;18619:175;-1:-1:-1;;18619:175:229:o;18799:604::-;19108:6;19097:9;19090:25;19151:3;19146:2;19135:9;19131:18;19124:31;19071:4;19178:57;19230:3;19219:9;19215:19;19207:6;19178:57;:::i;:::-;19283:4;19275:6;19271:17;19266:2;19255:9;19251:18;19244:45;19337:9;19329:6;19325:22;19320:2;19309:9;19305:18;19298:50;19365:32;19390:6;19382;19365:32;:::i;:::-;19357:40;18799:604;-1:-1:-1;;;;;;;18799:604:229:o;19735:128::-;19802:9;;;19823:11;;;19820:37;;;19837:18;;:::i;19868:168::-;19941:9;;;19972;;19989:15;;;19983:22;;19969:37;19959:71;;20010:18;;:::i;20041:640::-;20292:6;20287:3;20280:19;20262:3;20318:2;20351;20346:3;20342:12;20383:6;20377:13;20448:2;20440:6;20436:15;20469:1;20479:175;20493:6;20490:1;20487:13;20479:175;;;20556:13;;20542:28;;20592:14;;;;20629:15;;;;20515:1;20508:9;20479:175;;;-1:-1:-1;20670:5:229;;20041:640;-1:-1:-1;;;;;;;20041:640:229:o;20686:184::-;-1:-1:-1;;;20735:1:229;20728:88;20835:4;20832:1;20825:15;20859:4;20856:1;20849:15;20875:511;21126:2;21115:9;21108:21;21089:4;21152:56;21204:2;21193:9;21189:18;21181:6;21152:56;:::i;:::-;21256:14;21248:6;21244:27;21239:2;21228:9;21224:18;21217:55;21320:9;21312:6;21308:22;21303:2;21292:9;21288:18;21281:50;21348:32;21373:6;21365;21348:32;:::i;21391:616::-;21702:6;21691:9;21684:25;21745:3;21740:2;21729:9;21725:18;21718:31;21665:4;21772:57;21824:3;21813:9;21809:19;21801:6;21772:57;:::i;:::-;21877:14;21869:6;21865:27;21860:2;21849:9;21845:18;21838:55;21941:9;21933:6;21929:22;21924:2;21913:9;21909:18;21902:50;21969:32;21994:6;21986;21969:32;:::i;22012:925::-;22461:66;22453:6;22449:79;22444:3;22437:92;22419:3;22548;22580:2;22576:1;22571:3;22567:11;22560:23;22612:6;22606:13;22628:74;22695:6;22691:1;22686:3;22682:11;22675:4;22667:6;22663:17;22628:74;:::i;:::-;22730:6;22725:3;22721:16;22711:26;;22765:2;22761:1;22757:2;22753:10;22746:22;22799:6;22793:13;22777:29;;22815:75;22881:8;22877:1;22873:2;22869:10;22862:4;22854:6;22850:17;22815:75;:::i;:::-;22910:17;22929:1;22906:25;;22012:925;-1:-1:-1;;;;;22012:925:229:o;22942:339::-;23119:2;23108:9;23101:21;23082:4;23139:44;23179:2;23168:9;23164:18;23156:6;23139:44;:::i;:::-;23131:52;;-1:-1:-1;;;;;23223:6:229;23219:55;23214:2;23203:9;23199:18;23192:83;22942:339;;;;;:::o;23286:287::-;23415:3;23453:6;23447:13;23469:66;23528:6;23523:3;23516:4;23508:6;23504:17;23469:66;:::i;:::-;23551:16;;;;;23286:287;-1:-1:-1;;23286:287:229:o;23578:690::-;23913:3;23902:9;23895:22;23876:4;23940:57;23992:3;23981:9;23977:19;23969:6;23940:57;:::i;:::-;24045:9;24037:6;24033:22;24028:2;24017:9;24013:18;24006:50;24079:32;24104:6;24096;24079:32;:::i;:::-;24065:46;;24147:6;24142:2;24131:9;24127:18;24120:34;24202:9;24194:6;24190:22;24185:2;24174:9;24170:18;24163:50;24230:32;24255:6;24247;24230:32;:::i;24273:899::-;24729:6;24718:9;24711:25;24772:3;24767:2;24756:9;24752:18;24745:31;24692:4;24799:57;24851:3;24840:9;24836:19;24828:6;24799:57;:::i;:::-;24904:9;24896:6;24892:22;24887:2;24876:9;24872:18;24865:50;24938:32;24963:6;24955;24938:32;:::i;:::-;24924:46;;25006:6;25001:2;24990:9;24986:18;24979:34;25062:9;25054:6;25050:22;25044:3;25033:9;25029:19;25022:51;25090:32;25115:6;25107;25090:32;:::i;:::-;25082:40;;;25159:6;25153:3;25142:9;25138:19;25131:35;24273:899;;;;;;;;;:::o;25396:464::-;25643:66;25635:6;25631:79;25620:9;25613:98;25747:6;25742:2;25731:9;25727:18;25720:34;25790:2;25785;25774:9;25770:18;25763:30;25594:4;25810:44;25850:2;25839:9;25835:18;25827:6;25810:44;:::i;25865:174::-;25932:12;25964:10;;;25976;;;25960:27;;25999:11;;;25996:37;;;26013:18;;:::i;:::-;25996:37;25865:174;;;;:::o;26691:901::-;27116:6;27105:9;27098:25;27159:3;27154:2;27143:9;27139:18;27132:31;27079:4;27186:57;27238:3;27227:9;27223:19;27215:6;27186:57;:::i;:::-;27291:4;27279:17;;27274:2;27259:18;;27252:45;27316:12;27364:15;;;27359:2;27344:18;;27337:43;27417:15;;27411:3;27396:19;;27389:44;27464:3;27449:19;;27442:35;;;27514:22;;;27508:3;27493:19;;27486:51;27554:32;27518:6;27571;27554:32;:::i;:::-;27546:40;26691:901;-1:-1:-1;;;;;;;;;;26691:901:229:o;27597:788::-;27962:3;27951:9;27944:22;27925:4;27989:57;28041:3;28030:9;28026:19;28018:6;27989:57;:::i;:::-;28094:4;28086:6;28082:17;28077:2;28066:9;28062:18;28055:45;28148:14;28140:6;28136:27;28131:2;28120:9;28116:18;28109:55;28212:12;28204:6;28200:25;28195:2;28184:9;28180:18;28173:53;28263:6;28257:3;28246:9;28242:19;28235:35;28319:9;28311:6;28307:22;28301:3;28290:9;28286:19;28279:51;28347:32;28372:6;28364;28347:32;:::i;:::-;28339:40;27597:788;-1:-1:-1;;;;;;;;;27597:788:229:o;28650:530::-;28835:3;28873:6;28867:13;28889:66;28948:6;28943:3;28936:4;28928:6;28924:17;28889:66;:::i;:::-;29024:2;29020:15;;;;-1:-1:-1;;29016:88:229;28977:16;;;;29002:103;;;29132:2;29121:14;;29114:30;;;;29171:2;29160:14;;28650:530;-1:-1:-1;;28650:530:229:o;29469:359::-;29672:2;29661:9;29654:21;29635:4;29692:44;29732:2;29721:9;29717:18;29709:6;29692:44;:::i;:::-;29767:2;29752:18;;29745:34;;;;-1:-1:-1;29810:2:229;29795:18;29788:34;29684:52;29469:359;-1:-1:-1;29469:359:229:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","isValidOwner(bytes32,address)":"9b63ec05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x943ef4b0829ceb23d0097941f8c24a67f038025a5f72a67ef6340e138388047d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://767a0ed4acd401dbb6cc6a0ebab193757b58aec6d27830d87e88ce806339dc25\",\"dweb:/ipfs/QmRb7c9tQkcV2G3UwhcS89G7GcDYbtVzF4A1afpZsdUD55\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465\",\"dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x943ef4b0829ceb23d0097941f8c24a67f038025a5f72a67ef6340e138388047d","urls":["bzz-raw://767a0ed4acd401dbb6cc6a0ebab193757b58aec6d27830d87e88ce806339dc25","dweb:/ipfs/QmRb7c9tQkcV2G3UwhcS89G7GcDYbtVzF4A1afpZsdUD55"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488","urls":["bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465","dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":212}
\ No newline at end of file
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index ff99256ba..dbb72ea8f 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -185,6 +185,30 @@
],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__calculateItemDrop",
+ "inputs": [
+ {
+ "name": "randomNumber",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__checkRequirements",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 671df33ca..6707f3eeb 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -185,6 +185,30 @@ declare const abi: [
],
"stateMutability": "nonpayable"
},
+ {
+ "type": "function",
+ "name": "UD__calculateItemDrop",
+ "inputs": [
+ {
+ "name": "randomNumber",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "itemId",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
{
"type": "function",
"name": "UD__checkRequirements",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 3e49e5fa3..18995918a 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1 +1 @@
-{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__assignActionToCharacter","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__calculateGoldDrop","inputs":[{"name":"mobLevel","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"dropAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropGold","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItem","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipAction","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getLootManagerSystem","inputs":[],"outputs":[{"name":"_lootManager","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256,uint8[]),bytes32,bytes32,uint256,uint256)":"bf81ff5d","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__assignActionToCharacter(bytes32,bytes32)":"854cd561","UD__calculateGoldDrop(uint256,uint256)":"c3505171","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropGold(bytes32,uint256)":"fda0ce50","UD__dropItem(uint256,uint256,bytes32)":"88c571e1","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipAction(bytes32,bytes32)":"3d37a73e","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentAvailableLevel(uint256)":"d453e623","UD__getCurrentItemsCounter()":"4652f280","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getLootManagerSystem()":"f2cb96f2","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidOwner(bytes32,address)":"43def638","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__assignActionToCharacter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UD__dropGold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__dropItem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__equipAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getLootManagerSystem\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_lootManager\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"UD__isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__assignActionToCharacter"},{"inputs":[{"internalType":"uint256","name":"mobLevel","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateGoldDrop","outputs":[{"internalType":"uint256","name":"dropAmount","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropGold"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItem"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipAction"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getLootManagerSystem","outputs":[{"internalType":"address","name":"_lootManager","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"}},"version":1},"id":206}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__assignActionToCharacter","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__calculateGoldDrop","inputs":[{"name":"mobLevel","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"dropAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__calculateItemDrop","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropGold","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItem","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipAction","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getLootManagerSystem","inputs":[],"outputs":[{"name":"_lootManager","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMulticallContract","inputs":[],"outputs":[{"name":"_multicall","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256,uint8[]),bytes32,bytes32,uint256,uint256)":"bf81ff5d","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__assignActionToCharacter(bytes32,bytes32)":"854cd561","UD__calculateGoldDrop(uint256,uint256)":"c3505171","UD__calculateItemDrop(uint256,uint256)":"2ef4cfcb","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropGold(bytes32,uint256)":"fda0ce50","UD__dropItem(uint256,uint256,bytes32)":"88c571e1","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipAction(bytes32,bytes32)":"3d37a73e","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentAvailableLevel(uint256)":"d453e623","UD__getCurrentItemsCounter()":"4652f280","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getLootManagerSystem()":"f2cb96f2","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getMulticallContract()":"71ce415d","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32)":"7868d715","UD__isParticipant(address,bytes32[])":"18853912","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidOwner(bytes32,address)":"43def638","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__assignActionToCharacter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__calculateItemDrop\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UD__dropGold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__dropItem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__equipAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getLootManagerSystem\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_lootManager\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"UD__isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x943ef4b0829ceb23d0097941f8c24a67f038025a5f72a67ef6340e138388047d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://767a0ed4acd401dbb6cc6a0ebab193757b58aec6d27830d87e88ce806339dc25\",\"dweb:/ipfs/QmRb7c9tQkcV2G3UwhcS89G7GcDYbtVzF4A1afpZsdUD55\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__assignActionToCharacter"},{"inputs":[{"internalType":"uint256","name":"mobLevel","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateGoldDrop","outputs":[{"internalType":"uint256","name":"dropAmount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateItemDrop","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropGold"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItem"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipAction"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getLootManagerSystem","outputs":[{"internalType":"address","name":"_lootManager","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getMulticallContract","outputs":[{"internalType":"address","name":"_multicall","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x943ef4b0829ceb23d0097941f8c24a67f038025a5f72a67ef6340e138388047d","urls":["bzz-raw://767a0ed4acd401dbb6cc6a0ebab193757b58aec6d27830d87e88ce806339dc25","dweb:/ipfs/QmRb7c9tQkcV2G3UwhcS89G7GcDYbtVzF4A1afpZsdUD55"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"}},"version":1},"id":206}
\ No newline at end of file
diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json
index 03d7cb095..a84137193 100644
--- a/packages/contracts/out/MapSystem.sol/MapSystem.json
+++ b/packages/contracts/out/MapSystem.sol/MapSystem.json
@@ -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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220053cba1e3ac40a56108edce34eefa1531cb77e974b1eb3bcf098a3497d365a8e64736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220053cba1e3ac40a56108edce34eefa1531cb77e974b1eb3bcf098a3497d365a8e64736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:230;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:230;;;689:74;;677:2;662:18;1262:113:123;543:226:230;1755:239:217;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:230;;1401:2;1386:18;1616:110:123;1267:177:230;1580:169:217;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:217:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:217:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:217;;1279:70;;;;-1:-1:-1;;;1279:70:217;;2807:2:230;1279:70:217;;;2789:21:230;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:217;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:217;;3212:2:230;1360:67:217;;;3194:21:230;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:217;3010:349:230;1360:67:217;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:217;;605:69;;;;-1:-1:-1;;;605:69:217;;3566:2:230;605:69:217;;;3548:21:230;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:217;3364:399:230;605:69:217;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:217;;3970:2:230;685:62:217;;;3952:21:230;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:217;3768:345:230;685:62:217;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:217;;4320:2:230;885:37:217;;;4302:21:230;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:217;4118:339:230;885:37:217;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:217;;4664:2:230;932:38:217;;;4646:21:230;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:217;4462:339:230;932:38:217;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:217;;5008:2:230;980:91:217;;;4990:21:230;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:217;4806:354:230;980:91:217;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:230;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:230;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:230;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:230;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:217:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:217;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:217:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:217;;7009:2:230;4393:63:217;;;6991:21:230;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:217;6807:355:230;4393:63:217;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:217;;7369:2:230;2296:80:217;;;7351:21:230;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:217;7167:403:230;2296:80:217;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:230;;1401:2;1386:18;;1267:177;2515:42:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:217;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:230;2594:9:217;;:20;;1386:18:230;;2594:38:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:217;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:230;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:217;;;;-1:-1:-1;;2754:148:217;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:217;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:217:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:230;18911:18;;3713:52:107;18794:248:230;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:217:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:217;;3609:106;-1:-1:-1;3609:106:217:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:230;25536:15;;;45340:92:45;;;25518:34:230;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:230;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:230;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:230;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:230;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:230;;51494:30:45;27964:279:230;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:230;;;1386:18;;7664:67:24;1267:177:230;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:230;30142:79;;2092:30:124;;;30130:92:230;2092:30:124;;30238:12:230;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:230;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:230;;1710:439;-1:-1:-1;;;;;1710:439:230:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:230;;2420:180;-1:-1:-1;2420:180:230:o;5165:184::-;-1:-1:-1;;;5214:1:230;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:230;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:230;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:230;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:230;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:230;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:230;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:230;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:230;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:230;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:230;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:230:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:230;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:230:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:230:o;10716:184::-;-1:-1:-1;;;10765:1:230;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:230:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:230;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:230;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:230;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:230;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:230:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:230;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:230:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:230;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:230:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:230;;15702:184;-1:-1:-1;15702:184:230:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:230:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:230:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:230;;21043:640;-1:-1:-1;;;;;;;21043:640:230:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:230:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:230:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:230:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:230;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:230:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:230:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09","urls":["bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947","dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":217}
\ No newline at end of file
+{"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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212207fb2ddf722e4103a995927e5fdab366bcfd00c07a5c10f002966d1c24763d80664736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212207fb2ddf722e4103a995927e5fdab366bcfd00c07a5c10f002966d1c24763d80664736f6c63430008180033","sourceMap":"412:4148:217:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:229;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:229;;;689:74;;677:2;662:18;1262:113:123;543:226:229;1755:239:217;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:229;;1401:2;1386:18;1616:110:123;1267:177:229;1580:169:217;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:217:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:217:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:217;;1279:70;;;;-1:-1:-1;;;1279:70:217;;2807:2:229;1279:70:217;;;2789:21:229;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:217;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:217;;3212:2:229;1360:67:217;;;3194:21:229;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:217;3010:349:229;1360:67:217;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:217;;605:69;;;;-1:-1:-1;;;605:69:217;;3566:2:229;605:69:217;;;3548:21:229;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:217;3364:399:229;605:69:217;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:217;;3970:2:229;685:62:217;;;3952:21:229;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:217;3768:345:229;685:62:217;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:217;;4320:2:229;885:37:217;;;4302:21:229;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:217;4118:339:229;885:37:217;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:217;;4664:2:229;932:38:217;;;4646:21:229;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:217;4462:339:229;932:38:217;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:217;;5008:2:229;980:91:217;;;4990:21:229;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:217;4806:354:229;980:91:217;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:229;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:229;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:229;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:229;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:217:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:217;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:217:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:217;;7009:2:229;4393:63:217;;;6991:21:229;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:217;6807:355:229;4393:63:217;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:217;;7369:2:229;2296:80:217;;;7351:21:229;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:217;7167:403:229;2296:80:217;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:229;;1401:2;1386:18;;1267:177;2515:42:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:217;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:229;2594:9:217;;:20;;1386:18:229;;2594:38:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:217;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:229;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:217;;;;-1:-1:-1;;2754:148:217;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:217;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:217:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:229;18911:18;;3713:52:107;18794:248:229;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:217:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:217;;3609:106;-1:-1:-1;3609:106:217:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:229;25536:15;;;45340:92:45;;;25518:34:229;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:229;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:229;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:229;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:229;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:229;;51494:30:45;27964:279:229;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:229;;;1386:18;;7664:67:24;1267:177:229;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:229;30142:79;;2092:30:124;;;30130:92:229;2092:30:124;;30238:12:229;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:229;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:229;;1710:439;-1:-1:-1;;;;;1710:439:229:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:229;;2420:180;-1:-1:-1;2420:180:229:o;5165:184::-;-1:-1:-1;;;5214:1:229;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:229;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:229;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:229;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:229;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:229;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:229;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:229;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:229;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:229;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:229;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:229:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:229;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:229:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:229:o;10716:184::-;-1:-1:-1;;;10765:1:229;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:229:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:229;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:229;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:229;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:229;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:229:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:229;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:229:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:229;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:229:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:229;;15702:184;-1:-1:-1;15702:184:229:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:229:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:229:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:229;;21043:640;-1:-1:-1;;;;;;;21043:640:229:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:229:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:229:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:229:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:229;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:229:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:229:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x943ef4b0829ceb23d0097941f8c24a67f038025a5f72a67ef6340e138388047d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://767a0ed4acd401dbb6cc6a0ebab193757b58aec6d27830d87e88ce806339dc25\",\"dweb:/ipfs/QmRb7c9tQkcV2G3UwhcS89G7GcDYbtVzF4A1afpZsdUD55\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58","urls":["bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9","dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x943ef4b0829ceb23d0097941f8c24a67f038025a5f72a67ef6340e138388047d","urls":["bzz-raw://767a0ed4acd401dbb6cc6a0ebab193757b58aec6d27830d87e88ce806339dc25","dweb:/ipfs/QmRb7c9tQkcV2G3UwhcS89G7GcDYbtVzF4A1afpZsdUD55"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f","urls":["bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56","dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":217}
\ No newline at end of file
diff --git a/packages/contracts/src/codegen/common.sol b/packages/contracts/src/codegen/common.sol
index 5ccf0da3d..f7e7e32f9 100644
--- a/packages/contracts/src/codegen/common.sol
+++ b/packages/contracts/src/codegen/common.sol
@@ -3,55 +3,55 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
enum Classes {
- Warrior,
- Rogue,
- Mage
+ Warrior,
+ Rogue,
+ Mage
}
enum RngRequestType {
- CharacterStats,
- Combat,
- WorldGeneration
+ CharacterStats,
+ Combat,
+ WorldGeneration
}
enum ItemType {
- Weapon,
- Armor,
- Spell,
- Potion,
- Material,
- QuestItem
+ Weapon,
+ Armor,
+ Spell,
+ Potion,
+ Material,
+ QuestItem
}
enum MobType {
- Monster,
- NPC
+ Monster,
+ NPC
}
enum Alignment {
- Loyalist,
- Neutral,
- Rebel,
- Aggro
+ Loyalist,
+ Neutral,
+ Rebel,
+ Aggro
}
enum EncounterType {
- PvP,
- PvE
+ PvP,
+ PvE
}
enum ActionType {
- Temporary,
- PhysicalAttack,
- MagicAttack,
- StatusEffect
+ Temporary,
+ PhysicalAttack,
+ MagicAttack,
+ StatusEffect
}
enum StatusEffects {
- ToHitModifier,
- DoT,
- HitPointMod,
- ArmorMod,
- WeaponMod,
- Stun
+ ToHitModifier,
+ DoT,
+ HitPointMod,
+ ArmorMod,
+ WeaponMod,
+ Stun
}
diff --git a/packages/contracts/src/codegen/index.sol b/packages/contracts/src/codegen/index.sol
index 5e723a45c..9aac60c5b 100644
--- a/packages/contracts/src/codegen/index.sol
+++ b/packages/contracts/src/codegen/index.sol
@@ -3,24 +3,24 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import {Admin} from "./tables/Admin.sol";
-import {Characters, CharactersData} from "./tables/Characters.sol";
-import {Stats, StatsData} from "./tables/Stats.sol";
-import {MapConfig} from "./tables/MapConfig.sol";
-import {Spawned} from "./tables/Spawned.sol";
-import {Mobs, MobsData} from "./tables/Mobs.sol";
-import {MobsByLevel} from "./tables/MobsByLevel.sol";
-import {Levels} from "./tables/Levels.sol";
-import {CharacterEquipment, CharacterEquipmentData} from "./tables/CharacterEquipment.sol";
-import {Counters} from "./tables/Counters.sol";
-import {Items, ItemsData} from "./tables/Items.sol";
-import {Actions, ActionsData} from "./tables/Actions.sol";
-import {StarterItems, StarterItemsData} from "./tables/StarterItems.sol";
-import {Name} from "./tables/Name.sol";
-import {NameExists} from "./tables/NameExists.sol";
-import {CombatEncounter, CombatEncounterData} from "./tables/CombatEncounter.sol";
-import {MatchEntity, MatchEntityData} from "./tables/MatchEntity.sol";
-import {RandomNumbers, RandomNumbersData} from "./tables/RandomNumbers.sol";
-import {Position} from "./tables/Position.sol";
-import {EntitiesAtPosition} from "./tables/EntitiesAtPosition.sol";
-import {UltimateDominionConfig, UltimateDominionConfigData} from "./tables/UltimateDominionConfig.sol";
+import { Admin } from "./tables/Admin.sol";
+import { Characters, CharactersData } from "./tables/Characters.sol";
+import { Stats, StatsData } from "./tables/Stats.sol";
+import { MapConfig } from "./tables/MapConfig.sol";
+import { Spawned } from "./tables/Spawned.sol";
+import { Mobs, MobsData } from "./tables/Mobs.sol";
+import { MobsByLevel } from "./tables/MobsByLevel.sol";
+import { Levels } from "./tables/Levels.sol";
+import { CharacterEquipment, CharacterEquipmentData } from "./tables/CharacterEquipment.sol";
+import { Counters } from "./tables/Counters.sol";
+import { Items, ItemsData } from "./tables/Items.sol";
+import { Actions, ActionsData } from "./tables/Actions.sol";
+import { StarterItems, StarterItemsData } from "./tables/StarterItems.sol";
+import { Name } from "./tables/Name.sol";
+import { NameExists } from "./tables/NameExists.sol";
+import { CombatEncounter, CombatEncounterData } from "./tables/CombatEncounter.sol";
+import { MatchEntity, MatchEntityData } from "./tables/MatchEntity.sol";
+import { RandomNumbers, RandomNumbersData } from "./tables/RandomNumbers.sol";
+import { Position } from "./tables/Position.sol";
+import { EntitiesAtPosition } from "./tables/EntitiesAtPosition.sol";
+import { UltimateDominionConfig, UltimateDominionConfigData } from "./tables/UltimateDominionConfig.sol";
diff --git a/packages/contracts/src/codegen/tables/Actions.sol b/packages/contracts/src/codegen/tables/Actions.sol
index ff15ef5df..bb1d02af3 100644
--- a/packages/contracts/src/codegen/tables/Actions.sol
+++ b/packages/contracts/src/codegen/tables/Actions.sol
@@ -4,471 +4,475 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import {ActionType} from "./../common.sol";
+import { ActionType } from "./../common.sol";
struct ActionsData {
- ActionType actionType;
- bytes actionStats;
+ ActionType actionType;
+ bytes actionStats;
}
library Actions {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Actions", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000416374696f6e73000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, bytes)
- Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "actionId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "actionType";
- fieldNames[1] = "actionStats";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get actionType.
- */
- function getActionType(bytes32 actionId) internal view returns (ActionType actionType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return ActionType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get actionType.
- */
- function _getActionType(bytes32 actionId) internal view returns (ActionType actionType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return ActionType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set actionType.
- */
- function setActionType(bytes32 actionId, ActionType actionType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(actionType)), _fieldLayout);
- }
-
- /**
- * @notice Set actionType.
- */
- function _setActionType(bytes32 actionId, ActionType actionType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(actionType)), _fieldLayout);
- }
-
- /**
- * @notice Get actionStats.
- */
- function getActionStats(bytes32 actionId) internal view returns (bytes memory actionStats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Get actionStats.
- */
- function _getActionStats(bytes32 actionId) internal view returns (bytes memory actionStats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Set actionStats.
- */
- function setActionStats(bytes32 actionId, bytes memory actionStats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((actionStats)));
- }
-
- /**
- * @notice Set actionStats.
- */
- function _setActionStats(bytes32 actionId, bytes memory actionStats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((actionStats)));
- }
-
- /**
- * @notice Get the length of actionStats.
- */
- function lengthActionStats(bytes32 actionId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of actionStats.
- */
- function _lengthActionStats(bytes32 actionId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of actionStats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemActionStats(bytes32 actionId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Get an item of actionStats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemActionStats(bytes32 actionId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Push a slice to actionStats.
- */
- function pushActionStats(bytes32 actionId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to actionStats.
- */
- function _pushActionStats(bytes32 actionId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from actionStats.
- */
- function popActionStats(bytes32 actionId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from actionStats.
- */
- function _popActionStats(bytes32 actionId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of actionStats at `_index`.
- */
- function updateActionStats(bytes32 actionId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of actionStats at `_index`.
- */
- function _updateActionStats(bytes32 actionId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 actionId) internal view returns (ActionsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 actionId) internal view returns (ActionsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 actionId, ActionType actionType, bytes memory actionStats) internal {
- bytes memory _staticData = encodeStatic(actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(actionStats);
- bytes memory _dynamicData = encodeDynamic(actionStats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 actionId, ActionType actionType, bytes memory actionStats) internal {
- bytes memory _staticData = encodeStatic(actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(actionStats);
- bytes memory _dynamicData = encodeDynamic(actionStats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 actionId, ActionsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.actionStats);
- bytes memory _dynamicData = encodeDynamic(_table.actionStats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 actionId, ActionsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.actionStats);
- bytes memory _dynamicData = encodeDynamic(_table.actionStats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (ActionType actionType) {
- actionType = ActionType(uint8(Bytes.getBytes1(_blob, 0)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
- internal
- pure
- returns (bytes memory actionStats)
- {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- actionStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
- internal
- pure
- returns (ActionsData memory _table)
- {
- (_table.actionType) = decodeStatic(_staticData);
-
- (_table.actionStats) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 actionId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 actionId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(ActionType actionType) internal pure returns (bytes memory) {
- return abi.encodePacked(actionType);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes memory actionStats) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(actionStats).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes memory actionStats) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((actionStats)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(ActionType actionType, bytes memory actionStats)
- internal
- pure
- returns (bytes memory, EncodedLengths, bytes memory)
- {
- bytes memory _staticData = encodeStatic(actionType);
-
- EncodedLengths _encodedLengths = encodeLengths(actionStats);
- bytes memory _dynamicData = encodeDynamic(actionStats);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 actionId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = actionId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Actions", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000416374696f6e73000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, bytes)
+ Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "actionId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "actionType";
+ fieldNames[1] = "actionStats";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get actionType.
+ */
+ function getActionType(bytes32 actionId) internal view returns (ActionType actionType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return ActionType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get actionType.
+ */
+ function _getActionType(bytes32 actionId) internal view returns (ActionType actionType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return ActionType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set actionType.
+ */
+ function setActionType(bytes32 actionId, ActionType actionType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(actionType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set actionType.
+ */
+ function _setActionType(bytes32 actionId, ActionType actionType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(actionType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get actionStats.
+ */
+ function getActionStats(bytes32 actionId) internal view returns (bytes memory actionStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get actionStats.
+ */
+ function _getActionStats(bytes32 actionId) internal view returns (bytes memory actionStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set actionStats.
+ */
+ function setActionStats(bytes32 actionId, bytes memory actionStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((actionStats)));
+ }
+
+ /**
+ * @notice Set actionStats.
+ */
+ function _setActionStats(bytes32 actionId, bytes memory actionStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((actionStats)));
+ }
+
+ /**
+ * @notice Get the length of actionStats.
+ */
+ function lengthActionStats(bytes32 actionId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of actionStats.
+ */
+ function _lengthActionStats(bytes32 actionId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of actionStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemActionStats(bytes32 actionId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of actionStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemActionStats(bytes32 actionId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to actionStats.
+ */
+ function pushActionStats(bytes32 actionId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to actionStats.
+ */
+ function _pushActionStats(bytes32 actionId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from actionStats.
+ */
+ function popActionStats(bytes32 actionId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from actionStats.
+ */
+ function _popActionStats(bytes32 actionId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of actionStats at `_index`.
+ */
+ function updateActionStats(bytes32 actionId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of actionStats at `_index`.
+ */
+ function _updateActionStats(bytes32 actionId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 actionId) internal view returns (ActionsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 actionId) internal view returns (ActionsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 actionId, ActionType actionType, bytes memory actionStats) internal {
+ bytes memory _staticData = encodeStatic(actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(actionStats);
+ bytes memory _dynamicData = encodeDynamic(actionStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 actionId, ActionType actionType, bytes memory actionStats) internal {
+ bytes memory _staticData = encodeStatic(actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(actionStats);
+ bytes memory _dynamicData = encodeDynamic(actionStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 actionId, ActionsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.actionStats);
+ bytes memory _dynamicData = encodeDynamic(_table.actionStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 actionId, ActionsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.actionStats);
+ bytes memory _dynamicData = encodeDynamic(_table.actionStats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (ActionType actionType) {
+ actionType = ActionType(uint8(Bytes.getBytes1(_blob, 0)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(
+ EncodedLengths _encodedLengths,
+ bytes memory _blob
+ ) internal pure returns (bytes memory actionStats) {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ actionStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths _encodedLengths,
+ bytes memory _dynamicData
+ ) internal pure returns (ActionsData memory _table) {
+ (_table.actionType) = decodeStatic(_staticData);
+
+ (_table.actionStats) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 actionId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 actionId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(ActionType actionType) internal pure returns (bytes memory) {
+ return abi.encodePacked(actionType);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes memory actionStats) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(actionStats).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory actionStats) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((actionStats)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ ActionType actionType,
+ bytes memory actionStats
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(actionType);
+
+ EncodedLengths _encodedLengths = encodeLengths(actionStats);
+ bytes memory _dynamicData = encodeDynamic(actionStats);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 actionId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = actionId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Admin.sol b/packages/contracts/src/codegen/tables/Admin.sol
index 4182226a2..7c5a2e32a 100644
--- a/packages/contracts/src/codegen/tables/Admin.sol
+++ b/packages/contracts/src/codegen/tables/Admin.sol
@@ -4,198 +4,198 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library Admin {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Admin", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000041646d696e0000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool)
- Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "id";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "value";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get value.
- */
- function getValue(bytes32 id) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function _getValue(bytes32 id) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function get(bytes32 id) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function _get(bytes32 id) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set value.
- */
- function setValue(bytes32 id, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function _setValue(bytes32 id, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function set(bytes32 id, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function _set(bytes32 id, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(bool value) internal pure returns (bytes memory) {
- return abi.encodePacked(value);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bool value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(value);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 id) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Admin", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000041646d696e0000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool)
+ Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "id";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "value";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function getValue(bytes32 id) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _getValue(bytes32 id) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function get(bytes32 id) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _get(bytes32 id) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function setValue(bytes32 id, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _setValue(bytes32 id, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function set(bytes32 id, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _set(bytes32 id, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bool value) internal pure returns (bytes memory) {
+ return abi.encodePacked(value);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bool value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(value);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 id) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ return _keyTuple;
+ }
}
/**
@@ -205,7 +205,7 @@ library Admin {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/tables/CharacterEquipment.sol b/packages/contracts/src/codegen/tables/CharacterEquipment.sol
index 39acc9c9a..88a9c6c2e 100644
--- a/packages/contracts/src/codegen/tables/CharacterEquipment.sol
+++ b/packages/contracts/src/codegen/tables/CharacterEquipment.sol
@@ -4,1053 +4,1066 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
struct CharacterEquipmentData {
- int256 strBonus;
- int256 agiBonus;
- int256 intBonus;
- int256 hpBonus;
- uint256 armor;
- uint256[] equippedArmor;
- uint256[] equippedWeapons;
- bytes32[] equippedSpells;
+ int256 strBonus;
+ int256 agiBonus;
+ int256 intBonus;
+ int256 hpBonus;
+ uint256 armor;
+ uint256[] equippedArmor;
+ uint256[] equippedWeapons;
+ bytes32[] equippedSpells;
}
library CharacterEquipment {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CharacterEquipme", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657245717569706d65);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x00a0050320202020200000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (int256, int256, int256, int256, uint256, uint256[], uint256[], bytes32[])
- Schema constant _valueSchema = Schema.wrap(0x00a005033f3f3f3f1f8181c10000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "characterId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](8);
- fieldNames[0] = "strBonus";
- fieldNames[1] = "agiBonus";
- fieldNames[2] = "intBonus";
- fieldNames[3] = "hpBonus";
- fieldNames[4] = "armor";
- fieldNames[5] = "equippedArmor";
- fieldNames[6] = "equippedWeapons";
- fieldNames[7] = "equippedSpells";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get strBonus.
- */
- function getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get strBonus.
- */
- function _getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set strBonus.
- */
- function setStrBonus(bytes32 characterId, int256 strBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
- }
-
- /**
- * @notice Set strBonus.
- */
- function _setStrBonus(bytes32 characterId, int256 strBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
- }
-
- /**
- * @notice Get agiBonus.
- */
- function getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get agiBonus.
- */
- function _getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set agiBonus.
- */
- function setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
- }
-
- /**
- * @notice Set agiBonus.
- */
- function _setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
- }
-
- /**
- * @notice Get intBonus.
- */
- function getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get intBonus.
- */
- function _getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set intBonus.
- */
- function setIntBonus(bytes32 characterId, int256 intBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
- }
-
- /**
- * @notice Set intBonus.
- */
- function _setIntBonus(bytes32 characterId, int256 intBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
- }
-
- /**
- * @notice Get hpBonus.
- */
- function getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get hpBonus.
- */
- function _getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set hpBonus.
- */
- function setHpBonus(bytes32 characterId, int256 hpBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
- }
-
- /**
- * @notice Set hpBonus.
- */
- function _setHpBonus(bytes32 characterId, int256 hpBonus) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
- }
-
- /**
- * @notice Get armor.
- */
- function getArmor(bytes32 characterId) internal view returns (uint256 armor) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get armor.
- */
- function _getArmor(bytes32 characterId) internal view returns (uint256 armor) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set armor.
- */
- function setArmor(bytes32 characterId, uint256 armor) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((armor)), _fieldLayout);
- }
-
- /**
- * @notice Set armor.
- */
- function _setArmor(bytes32 characterId, uint256 armor) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((armor)), _fieldLayout);
- }
-
- /**
- * @notice Get equippedArmor.
- */
- function getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get equippedArmor.
- */
- function _getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set equippedArmor.
- */
- function setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
- }
-
- /**
- * @notice Set equippedArmor.
- */
- function _setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
- }
-
- /**
- * @notice Get the length of equippedArmor.
- */
- function lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of equippedArmor.
- */
- function _lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of equippedArmor.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of equippedArmor.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to equippedArmor.
- */
- function pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to equippedArmor.
- */
- function _pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from equippedArmor.
- */
- function popEquippedArmor(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from equippedArmor.
- */
- function _popEquippedArmor(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of equippedArmor at `_index`.
- */
- function updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of equippedArmor at `_index`.
- */
- function _updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get equippedWeapons.
- */
- function getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get equippedWeapons.
- */
- function _getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set equippedWeapons.
- */
- function setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
- }
-
- /**
- * @notice Set equippedWeapons.
- */
- function _setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
- }
-
- /**
- * @notice Get the length of equippedWeapons.
- */
- function lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of equippedWeapons.
- */
- function _lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of equippedWeapons.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of equippedWeapons.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to equippedWeapons.
- */
- function pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to equippedWeapons.
- */
- function _pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from equippedWeapons.
- */
- function popEquippedWeapons(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Pop an element from equippedWeapons.
- */
- function _popEquippedWeapons(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Update an element of equippedWeapons at `_index`.
- */
- function updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of equippedWeapons at `_index`.
- */
- function _updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get equippedSpells.
- */
- function getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 2);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get equippedSpells.
- */
- function _getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 2);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Set equippedSpells.
- */
- function setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
- }
-
- /**
- * @notice Set equippedSpells.
- */
- function _setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
- }
-
- /**
- * @notice Get the length of equippedSpells.
- */
- function lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 2);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of equippedSpells.
- */
- function _lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 2);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of equippedSpells.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of equippedSpells.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Push an element to equippedSpells.
- */
- function pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to equippedSpells.
- */
- function _pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from equippedSpells.
- */
- function popEquippedSpells(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 2, 32);
- }
-
- /**
- * @notice Pop an element from equippedSpells.
- */
- function _popEquippedSpells(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 2, 32);
- }
-
- /**
- * @notice Update an element of equippedSpells at `_index`.
- */
- function updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 2, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of equippedSpells at `_index`.
- */
- function _updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 2, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bytes32 characterId,
- int256 strBonus,
- int256 agiBonus,
- int256 intBonus,
- int256 hpBonus,
- uint256 armor,
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal {
- bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
-
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bytes32 characterId,
- int256 strBonus,
- int256 agiBonus,
- int256 intBonus,
- int256 hpBonus,
- uint256 armor,
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal {
- bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
-
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
- bytes memory _staticData =
- encodeStatic(_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus, _table.armor);
-
- EncodedLengths _encodedLengths =
- encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
- bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
- bytes memory _staticData =
- encodeStatic(_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus, _table.armor);
-
- EncodedLengths _encodedLengths =
- encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
- bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob)
- internal
- pure
- returns (int256 strBonus, int256 agiBonus, int256 intBonus, int256 hpBonus, uint256 armor)
- {
- strBonus = (int256(uint256(Bytes.getBytes32(_blob, 0))));
-
- agiBonus = (int256(uint256(Bytes.getBytes32(_blob, 32))));
-
- intBonus = (int256(uint256(Bytes.getBytes32(_blob, 64))));
-
- hpBonus = (int256(uint256(Bytes.getBytes32(_blob, 96))));
-
- armor = (uint256(Bytes.getBytes32(_blob, 128)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
- internal
- pure
- returns (uint256[] memory equippedArmor, uint256[] memory equippedWeapons, bytes32[] memory equippedSpells)
- {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- equippedArmor = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(1);
- }
- equippedWeapons = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(2);
- }
- equippedSpells = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
- internal
- pure
- returns (CharacterEquipmentData memory _table)
- {
- (_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus, _table.armor) = decodeStatic(_staticData);
-
- (_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells) =
- decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(int256 strBonus, int256 agiBonus, int256 intBonus, int256 hpBonus, uint256 armor)
- internal
- pure
- returns (bytes memory)
- {
- return abi.encodePacked(strBonus, agiBonus, intBonus, hpBonus, armor);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(
- equippedArmor.length * 32, equippedWeapons.length * 32, equippedSpells.length * 32
- );
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(
- EncodeArray.encode((equippedArmor)),
- EncodeArray.encode((equippedWeapons)),
- EncodeArray.encode((equippedSpells))
- );
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- int256 strBonus,
- int256 agiBonus,
- int256 intBonus,
- int256 hpBonus,
- uint256 armor,
- uint256[] memory equippedArmor,
- uint256[] memory equippedWeapons,
- bytes32[] memory equippedSpells
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
-
- EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
- bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CharacterEquipme", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657245717569706d65);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x00a0050320202020200000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (int256, int256, int256, int256, uint256, uint256[], uint256[], bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x00a005033f3f3f3f1f8181c10000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "characterId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](8);
+ fieldNames[0] = "strBonus";
+ fieldNames[1] = "agiBonus";
+ fieldNames[2] = "intBonus";
+ fieldNames[3] = "hpBonus";
+ fieldNames[4] = "armor";
+ fieldNames[5] = "equippedArmor";
+ fieldNames[6] = "equippedWeapons";
+ fieldNames[7] = "equippedSpells";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get strBonus.
+ */
+ function getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get strBonus.
+ */
+ function _getStrBonus(bytes32 characterId) internal view returns (int256 strBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set strBonus.
+ */
+ function setStrBonus(bytes32 characterId, int256 strBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set strBonus.
+ */
+ function _setStrBonus(bytes32 characterId, int256 strBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get agiBonus.
+ */
+ function getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get agiBonus.
+ */
+ function _getAgiBonus(bytes32 characterId) internal view returns (int256 agiBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set agiBonus.
+ */
+ function setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set agiBonus.
+ */
+ function _setAgiBonus(bytes32 characterId, int256 agiBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agiBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get intBonus.
+ */
+ function getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get intBonus.
+ */
+ function _getIntBonus(bytes32 characterId) internal view returns (int256 intBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set intBonus.
+ */
+ function setIntBonus(bytes32 characterId, int256 intBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set intBonus.
+ */
+ function _setIntBonus(bytes32 characterId, int256 intBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((intBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get hpBonus.
+ */
+ function getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get hpBonus.
+ */
+ function _getHpBonus(bytes32 characterId) internal view returns (int256 hpBonus) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set hpBonus.
+ */
+ function setHpBonus(bytes32 characterId, int256 hpBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set hpBonus.
+ */
+ function _setHpBonus(bytes32 characterId, int256 hpBonus) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((hpBonus)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get armor.
+ */
+ function getArmor(bytes32 characterId) internal view returns (uint256 armor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get armor.
+ */
+ function _getArmor(bytes32 characterId) internal view returns (uint256 armor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set armor.
+ */
+ function setArmor(bytes32 characterId, uint256 armor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((armor)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set armor.
+ */
+ function _setArmor(bytes32 characterId, uint256 armor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((armor)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get equippedArmor.
+ */
+ function getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get equippedArmor.
+ */
+ function _getEquippedArmor(bytes32 characterId) internal view returns (uint256[] memory equippedArmor) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set equippedArmor.
+ */
+ function setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
+ }
+
+ /**
+ * @notice Set equippedArmor.
+ */
+ function _setEquippedArmor(bytes32 characterId, uint256[] memory equippedArmor) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((equippedArmor)));
+ }
+
+ /**
+ * @notice Get the length of equippedArmor.
+ */
+ function lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of equippedArmor.
+ */
+ function _lengthEquippedArmor(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedArmor.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedArmor.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEquippedArmor(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to equippedArmor.
+ */
+ function pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to equippedArmor.
+ */
+ function _pushEquippedArmor(bytes32 characterId, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from equippedArmor.
+ */
+ function popEquippedArmor(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from equippedArmor.
+ */
+ function _popEquippedArmor(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of equippedArmor at `_index`.
+ */
+ function updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of equippedArmor at `_index`.
+ */
+ function _updateEquippedArmor(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get equippedWeapons.
+ */
+ function getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get equippedWeapons.
+ */
+ function _getEquippedWeapons(bytes32 characterId) internal view returns (uint256[] memory equippedWeapons) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set equippedWeapons.
+ */
+ function setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
+ }
+
+ /**
+ * @notice Set equippedWeapons.
+ */
+ function _setEquippedWeapons(bytes32 characterId, uint256[] memory equippedWeapons) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((equippedWeapons)));
+ }
+
+ /**
+ * @notice Get the length of equippedWeapons.
+ */
+ function lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of equippedWeapons.
+ */
+ function _lengthEquippedWeapons(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedWeapons.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedWeapons.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEquippedWeapons(bytes32 characterId, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to equippedWeapons.
+ */
+ function pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to equippedWeapons.
+ */
+ function _pushEquippedWeapons(bytes32 characterId, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from equippedWeapons.
+ */
+ function popEquippedWeapons(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Pop an element from equippedWeapons.
+ */
+ function _popEquippedWeapons(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Update an element of equippedWeapons at `_index`.
+ */
+ function updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of equippedWeapons at `_index`.
+ */
+ function _updateEquippedWeapons(bytes32 characterId, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get equippedSpells.
+ */
+ function getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 2);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get equippedSpells.
+ */
+ function _getEquippedSpells(bytes32 characterId) internal view returns (bytes32[] memory equippedSpells) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 2);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set equippedSpells.
+ */
+ function setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
+ }
+
+ /**
+ * @notice Set equippedSpells.
+ */
+ function _setEquippedSpells(bytes32 characterId, bytes32[] memory equippedSpells) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 2, EncodeArray.encode((equippedSpells)));
+ }
+
+ /**
+ * @notice Get the length of equippedSpells.
+ */
+ function lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 2);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of equippedSpells.
+ */
+ function _lengthEquippedSpells(bytes32 characterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 2);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedSpells.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of equippedSpells.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEquippedSpells(bytes32 characterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 2, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to equippedSpells.
+ */
+ function pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to equippedSpells.
+ */
+ function _pushEquippedSpells(bytes32 characterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 2, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from equippedSpells.
+ */
+ function popEquippedSpells(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 2, 32);
+ }
+
+ /**
+ * @notice Pop an element from equippedSpells.
+ */
+ function _popEquippedSpells(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 2, 32);
+ }
+
+ /**
+ * @notice Update an element of equippedSpells at `_index`.
+ */
+ function updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 2, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of equippedSpells at `_index`.
+ */
+ function _updateEquippedSpells(bytes32 characterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 2, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 characterId) internal view returns (CharacterEquipmentData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bytes32 characterId,
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
+ uint256 armor,
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal {
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bytes32 characterId,
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
+ uint256 armor,
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal {
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.strBonus,
+ _table.agiBonus,
+ _table.intBonus,
+ _table.hpBonus,
+ _table.armor
+ );
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 characterId, CharacterEquipmentData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.strBonus,
+ _table.agiBonus,
+ _table.intBonus,
+ _table.hpBonus,
+ _table.armor
+ );
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(
+ bytes memory _blob
+ ) internal pure returns (int256 strBonus, int256 agiBonus, int256 intBonus, int256 hpBonus, uint256 armor) {
+ strBonus = (int256(uint256(Bytes.getBytes32(_blob, 0))));
+
+ agiBonus = (int256(uint256(Bytes.getBytes32(_blob, 32))));
+
+ intBonus = (int256(uint256(Bytes.getBytes32(_blob, 64))));
+
+ hpBonus = (int256(uint256(Bytes.getBytes32(_blob, 96))));
+
+ armor = (uint256(Bytes.getBytes32(_blob, 128)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(
+ EncodedLengths _encodedLengths,
+ bytes memory _blob
+ )
+ internal
+ pure
+ returns (uint256[] memory equippedArmor, uint256[] memory equippedWeapons, bytes32[] memory equippedSpells)
+ {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ equippedArmor = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(1);
+ }
+ equippedWeapons = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(2);
+ }
+ equippedSpells = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths _encodedLengths,
+ bytes memory _dynamicData
+ ) internal pure returns (CharacterEquipmentData memory _table) {
+ (_table.strBonus, _table.agiBonus, _table.intBonus, _table.hpBonus, _table.armor) = decodeStatic(_staticData);
+
+ (_table.equippedArmor, _table.equippedWeapons, _table.equippedSpells) = decodeDynamic(
+ _encodedLengths,
+ _dynamicData
+ );
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
+ uint256 armor
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(strBonus, agiBonus, intBonus, hpBonus, armor);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(
+ equippedArmor.length * 32,
+ equippedWeapons.length * 32,
+ equippedSpells.length * 32
+ );
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal pure returns (bytes memory) {
+ return
+ abi.encodePacked(
+ EncodeArray.encode((equippedArmor)),
+ EncodeArray.encode((equippedWeapons)),
+ EncodeArray.encode((equippedSpells))
+ );
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ int256 strBonus,
+ int256 agiBonus,
+ int256 intBonus,
+ int256 hpBonus,
+ uint256 armor,
+ uint256[] memory equippedArmor,
+ uint256[] memory equippedWeapons,
+ bytes32[] memory equippedSpells
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(strBonus, agiBonus, intBonus, hpBonus, armor);
+
+ EncodedLengths _encodedLengths = encodeLengths(equippedArmor, equippedWeapons, equippedSpells);
+ bytes memory _dynamicData = encodeDynamic(equippedArmor, equippedWeapons, equippedSpells);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Characters.sol b/packages/contracts/src/codegen/tables/Characters.sol
index 03611298f..3ec7e42cc 100644
--- a/packages/contracts/src/codegen/tables/Characters.sol
+++ b/packages/contracts/src/codegen/tables/Characters.sol
@@ -4,415 +4,421 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
struct CharactersData {
- uint256 tokenId;
- address owner;
- bytes32 name;
- bool locked;
+ uint256 tokenId;
+ address owner;
+ bytes32 name;
+ bool locked;
}
library Characters {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Characters", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657273000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0055040020142001000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256, address, bytes32, bool)
- Schema constant _valueSchema = Schema.wrap(0x005504001f615f60000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "characterId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](4);
- fieldNames[0] = "tokenId";
- fieldNames[1] = "owner";
- fieldNames[2] = "name";
- fieldNames[3] = "locked";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get tokenId.
- */
- function getTokenId(bytes32 characterId) internal view returns (uint256 tokenId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get tokenId.
- */
- function _getTokenId(bytes32 characterId) internal view returns (uint256 tokenId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set tokenId.
- */
- function setTokenId(bytes32 characterId, uint256 tokenId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((tokenId)), _fieldLayout);
- }
-
- /**
- * @notice Set tokenId.
- */
- function _setTokenId(bytes32 characterId, uint256 tokenId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((tokenId)), _fieldLayout);
- }
-
- /**
- * @notice Get owner.
- */
- function getOwner(bytes32 characterId) internal view returns (address owner) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get owner.
- */
- function _getOwner(bytes32 characterId) internal view returns (address owner) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set owner.
- */
- function setOwner(bytes32 characterId, address owner) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((owner)), _fieldLayout);
- }
-
- /**
- * @notice Set owner.
- */
- function _setOwner(bytes32 characterId, address owner) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((owner)), _fieldLayout);
- }
-
- /**
- * @notice Get name.
- */
- function getName(bytes32 characterId) internal view returns (bytes32 name) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Get name.
- */
- function _getName(bytes32 characterId) internal view returns (bytes32 name) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Set name.
- */
- function setName(bytes32 characterId, bytes32 name) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
- }
-
- /**
- * @notice Set name.
- */
- function _setName(bytes32 characterId, bytes32 name) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
- }
-
- /**
- * @notice Get locked.
- */
- function getLocked(bytes32 characterId) internal view returns (bool locked) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get locked.
- */
- function _getLocked(bytes32 characterId) internal view returns (bool locked) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set locked.
- */
- function setLocked(bytes32 characterId, bool locked) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
- }
-
- /**
- * @notice Set locked.
- */
- function _setLocked(bytes32 characterId, bool locked) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 characterId) internal view returns (CharactersData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 characterId) internal view returns (CharactersData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 characterId, uint256 tokenId, address owner, bytes32 name, bool locked) internal {
- bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 characterId, uint256 tokenId, address owner, bytes32 name, bool locked) internal {
- bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 characterId, CharactersData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.tokenId, _table.owner, _table.name, _table.locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 characterId, CharactersData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.tokenId, _table.owner, _table.name, _table.locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob)
- internal
- pure
- returns (uint256 tokenId, address owner, bytes32 name, bool locked)
- {
- tokenId = (uint256(Bytes.getBytes32(_blob, 0)));
-
- owner = (address(Bytes.getBytes20(_blob, 32)));
-
- name = (Bytes.getBytes32(_blob, 52));
-
- locked = (_toBool(uint8(Bytes.getBytes1(_blob, 84))));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(bytes memory _staticData, EncodedLengths, bytes memory)
- internal
- pure
- returns (CharactersData memory _table)
- {
- (_table.tokenId, _table.owner, _table.name, _table.locked) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 characterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint256 tokenId, address owner, bytes32 name, bool locked)
- internal
- pure
- returns (bytes memory)
- {
- return abi.encodePacked(tokenId, owner, name, locked);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint256 tokenId, address owner, bytes32 name, bool locked)
- internal
- pure
- returns (bytes memory, EncodedLengths, bytes memory)
- {
- bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = characterId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Characters", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000043686172616374657273000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0055040020142001000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256, address, bytes32, bool)
+ Schema constant _valueSchema = Schema.wrap(0x005504001f615f60000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "characterId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](4);
+ fieldNames[0] = "tokenId";
+ fieldNames[1] = "owner";
+ fieldNames[2] = "name";
+ fieldNames[3] = "locked";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get tokenId.
+ */
+ function getTokenId(bytes32 characterId) internal view returns (uint256 tokenId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get tokenId.
+ */
+ function _getTokenId(bytes32 characterId) internal view returns (uint256 tokenId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set tokenId.
+ */
+ function setTokenId(bytes32 characterId, uint256 tokenId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((tokenId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set tokenId.
+ */
+ function _setTokenId(bytes32 characterId, uint256 tokenId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((tokenId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get owner.
+ */
+ function getOwner(bytes32 characterId) internal view returns (address owner) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get owner.
+ */
+ function _getOwner(bytes32 characterId) internal view returns (address owner) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set owner.
+ */
+ function setOwner(bytes32 characterId, address owner) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((owner)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set owner.
+ */
+ function _setOwner(bytes32 characterId, address owner) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((owner)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get name.
+ */
+ function getName(bytes32 characterId) internal view returns (bytes32 name) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Get name.
+ */
+ function _getName(bytes32 characterId) internal view returns (bytes32 name) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Set name.
+ */
+ function setName(bytes32 characterId, bytes32 name) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set name.
+ */
+ function _setName(bytes32 characterId, bytes32 name) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((name)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get locked.
+ */
+ function getLocked(bytes32 characterId) internal view returns (bool locked) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get locked.
+ */
+ function _getLocked(bytes32 characterId) internal view returns (bool locked) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set locked.
+ */
+ function setLocked(bytes32 characterId, bool locked) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set locked.
+ */
+ function _setLocked(bytes32 characterId, bool locked) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((locked)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 characterId) internal view returns (CharactersData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 characterId) internal view returns (CharactersData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 characterId, uint256 tokenId, address owner, bytes32 name, bool locked) internal {
+ bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 characterId, uint256 tokenId, address owner, bytes32 name, bool locked) internal {
+ bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 characterId, CharactersData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.tokenId, _table.owner, _table.name, _table.locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 characterId, CharactersData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.tokenId, _table.owner, _table.name, _table.locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(
+ bytes memory _blob
+ ) internal pure returns (uint256 tokenId, address owner, bytes32 name, bool locked) {
+ tokenId = (uint256(Bytes.getBytes32(_blob, 0)));
+
+ owner = (address(Bytes.getBytes20(_blob, 32)));
+
+ name = (Bytes.getBytes32(_blob, 52));
+
+ locked = (_toBool(uint8(Bytes.getBytes1(_blob, 84))));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths,
+ bytes memory
+ ) internal pure returns (CharactersData memory _table) {
+ (_table.tokenId, _table.owner, _table.name, _table.locked) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 characterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ uint256 tokenId,
+ address owner,
+ bytes32 name,
+ bool locked
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(tokenId, owner, name, locked);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ uint256 tokenId,
+ address owner,
+ bytes32 name,
+ bool locked
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(tokenId, owner, name, locked);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 characterId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = characterId;
+
+ return _keyTuple;
+ }
}
/**
@@ -422,7 +428,7 @@ library Characters {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/tables/CombatEncounter.sol b/packages/contracts/src/codegen/tables/CombatEncounter.sol
index 76270d8c0..261547160 100644
--- a/packages/contracts/src/codegen/tables/CombatEncounter.sol
+++ b/packages/contracts/src/codegen/tables/CombatEncounter.sol
@@ -4,874 +4,879 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import {EncounterType} from "./../common.sol";
+import { EncounterType } from "./../common.sol";
struct CombatEncounterData {
- EncounterType encounterType;
- uint256 start;
- uint256 end;
- uint256 currentTurn;
- uint256 maxTurns;
- bytes32[] defenders;
- bytes32[] attackers;
+ EncounterType encounterType;
+ uint256 start;
+ uint256 end;
+ uint256 currentTurn;
+ uint256 maxTurns;
+ bytes32[] defenders;
+ bytes32[] attackers;
}
library CombatEncounter {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CombatEncounter", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000436f6d626174456e636f756e74657200);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0081050201202020200000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, uint256, uint256, uint256, uint256, bytes32[], bytes32[])
- Schema constant _valueSchema = Schema.wrap(0x00810502001f1f1f1fc1c1000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "encounterId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](7);
- fieldNames[0] = "encounterType";
- fieldNames[1] = "start";
- fieldNames[2] = "end";
- fieldNames[3] = "currentTurn";
- fieldNames[4] = "maxTurns";
- fieldNames[5] = "defenders";
- fieldNames[6] = "attackers";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get encounterType.
- */
- function getEncounterType(bytes32 encounterId) internal view returns (EncounterType encounterType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return EncounterType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get encounterType.
- */
- function _getEncounterType(bytes32 encounterId) internal view returns (EncounterType encounterType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return EncounterType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set encounterType.
- */
- function setEncounterType(bytes32 encounterId, EncounterType encounterType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(encounterType)), _fieldLayout);
- }
-
- /**
- * @notice Set encounterType.
- */
- function _setEncounterType(bytes32 encounterId, EncounterType encounterType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(encounterType)), _fieldLayout);
- }
-
- /**
- * @notice Get start.
- */
- function getStart(bytes32 encounterId) internal view returns (uint256 start) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get start.
- */
- function _getStart(bytes32 encounterId) internal view returns (uint256 start) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set start.
- */
- function setStart(bytes32 encounterId, uint256 start) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((start)), _fieldLayout);
- }
-
- /**
- * @notice Set start.
- */
- function _setStart(bytes32 encounterId, uint256 start) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((start)), _fieldLayout);
- }
-
- /**
- * @notice Get end.
- */
- function getEnd(bytes32 encounterId) internal view returns (uint256 end) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get end.
- */
- function _getEnd(bytes32 encounterId) internal view returns (uint256 end) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set end.
- */
- function setEnd(bytes32 encounterId, uint256 end) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((end)), _fieldLayout);
- }
-
- /**
- * @notice Set end.
- */
- function _setEnd(bytes32 encounterId, uint256 end) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((end)), _fieldLayout);
- }
-
- /**
- * @notice Get currentTurn.
- */
- function getCurrentTurn(bytes32 encounterId) internal view returns (uint256 currentTurn) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get currentTurn.
- */
- function _getCurrentTurn(bytes32 encounterId) internal view returns (uint256 currentTurn) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set currentTurn.
- */
- function setCurrentTurn(bytes32 encounterId, uint256 currentTurn) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((currentTurn)), _fieldLayout);
- }
-
- /**
- * @notice Set currentTurn.
- */
- function _setCurrentTurn(bytes32 encounterId, uint256 currentTurn) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((currentTurn)), _fieldLayout);
- }
-
- /**
- * @notice Get maxTurns.
- */
- function getMaxTurns(bytes32 encounterId) internal view returns (uint256 maxTurns) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get maxTurns.
- */
- function _getMaxTurns(bytes32 encounterId) internal view returns (uint256 maxTurns) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set maxTurns.
- */
- function setMaxTurns(bytes32 encounterId, uint256 maxTurns) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((maxTurns)), _fieldLayout);
- }
-
- /**
- * @notice Set maxTurns.
- */
- function _setMaxTurns(bytes32 encounterId, uint256 maxTurns) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((maxTurns)), _fieldLayout);
- }
-
- /**
- * @notice Get defenders.
- */
- function getDefenders(bytes32 encounterId) internal view returns (bytes32[] memory defenders) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get defenders.
- */
- function _getDefenders(bytes32 encounterId) internal view returns (bytes32[] memory defenders) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Set defenders.
- */
- function setDefenders(bytes32 encounterId, bytes32[] memory defenders) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((defenders)));
- }
-
- /**
- * @notice Set defenders.
- */
- function _setDefenders(bytes32 encounterId, bytes32[] memory defenders) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((defenders)));
- }
-
- /**
- * @notice Get the length of defenders.
- */
- function lengthDefenders(bytes32 encounterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of defenders.
- */
- function _lengthDefenders(bytes32 encounterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of defenders.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemDefenders(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of defenders.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemDefenders(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Push an element to defenders.
- */
- function pushDefenders(bytes32 encounterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to defenders.
- */
- function _pushDefenders(bytes32 encounterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from defenders.
- */
- function popDefenders(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from defenders.
- */
- function _popDefenders(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of defenders at `_index`.
- */
- function updateDefenders(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of defenders at `_index`.
- */
- function _updateDefenders(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get attackers.
- */
- function getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get attackers.
- */
- function _getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Set attackers.
- */
- function setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((attackers)));
- }
-
- /**
- * @notice Set attackers.
- */
- function _setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((attackers)));
- }
-
- /**
- * @notice Get the length of attackers.
- */
- function lengthAttackers(bytes32 encounterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of attackers.
- */
- function _lengthAttackers(bytes32 encounterId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of attackers.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of attackers.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Push an element to attackers.
- */
- function pushAttackers(bytes32 encounterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to attackers.
- */
- function _pushAttackers(bytes32 encounterId, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from attackers.
- */
- function popAttackers(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Pop an element from attackers.
- */
- function _popAttackers(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Update an element of attackers at `_index`.
- */
- function updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of attackers at `_index`.
- */
- function _updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 encounterId) internal view returns (CombatEncounterData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 encounterId) internal view returns (CombatEncounterData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bytes32 encounterId,
- EncounterType encounterType,
- uint256 start,
- uint256 end,
- uint256 currentTurn,
- uint256 maxTurns,
- bytes32[] memory defenders,
- bytes32[] memory attackers
- ) internal {
- bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
-
- EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
- bytes memory _dynamicData = encodeDynamic(defenders, attackers);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bytes32 encounterId,
- EncounterType encounterType,
- uint256 start,
- uint256 end,
- uint256 currentTurn,
- uint256 maxTurns,
- bytes32[] memory defenders,
- bytes32[] memory attackers
- ) internal {
- bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
-
- EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
- bytes memory _dynamicData = encodeDynamic(defenders, attackers);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 encounterId, CombatEncounterData memory _table) internal {
- bytes memory _staticData =
- encodeStatic(_table.encounterType, _table.start, _table.end, _table.currentTurn, _table.maxTurns);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.defenders, _table.attackers);
- bytes memory _dynamicData = encodeDynamic(_table.defenders, _table.attackers);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 encounterId, CombatEncounterData memory _table) internal {
- bytes memory _staticData =
- encodeStatic(_table.encounterType, _table.start, _table.end, _table.currentTurn, _table.maxTurns);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.defenders, _table.attackers);
- bytes memory _dynamicData = encodeDynamic(_table.defenders, _table.attackers);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob)
- internal
- pure
- returns (EncounterType encounterType, uint256 start, uint256 end, uint256 currentTurn, uint256 maxTurns)
- {
- encounterType = EncounterType(uint8(Bytes.getBytes1(_blob, 0)));
-
- start = (uint256(Bytes.getBytes32(_blob, 1)));
-
- end = (uint256(Bytes.getBytes32(_blob, 33)));
-
- currentTurn = (uint256(Bytes.getBytes32(_blob, 65)));
-
- maxTurns = (uint256(Bytes.getBytes32(_blob, 97)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
- internal
- pure
- returns (bytes32[] memory defenders, bytes32[] memory attackers)
- {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- defenders = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(1);
- }
- attackers = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
- internal
- pure
- returns (CombatEncounterData memory _table)
- {
- (_table.encounterType, _table.start, _table.end, _table.currentTurn, _table.maxTurns) =
- decodeStatic(_staticData);
-
- (_table.defenders, _table.attackers) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- EncounterType encounterType,
- uint256 start,
- uint256 end,
- uint256 currentTurn,
- uint256 maxTurns
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(encounterType, start, end, currentTurn, maxTurns);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes32[] memory defenders, bytes32[] memory attackers)
- internal
- pure
- returns (EncodedLengths _encodedLengths)
- {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(defenders.length * 32, attackers.length * 32);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes32[] memory defenders, bytes32[] memory attackers)
- internal
- pure
- returns (bytes memory)
- {
- return abi.encodePacked(EncodeArray.encode((defenders)), EncodeArray.encode((attackers)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- EncounterType encounterType,
- uint256 start,
- uint256 end,
- uint256 currentTurn,
- uint256 maxTurns,
- bytes32[] memory defenders,
- bytes32[] memory attackers
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
-
- EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
- bytes memory _dynamicData = encodeDynamic(defenders, attackers);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 encounterId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = encounterId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "CombatEncounter", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000436f6d626174456e636f756e74657200);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0081050201202020200000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, uint256, uint256, uint256, uint256, bytes32[], bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x00810502001f1f1f1fc1c1000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "encounterId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](7);
+ fieldNames[0] = "encounterType";
+ fieldNames[1] = "start";
+ fieldNames[2] = "end";
+ fieldNames[3] = "currentTurn";
+ fieldNames[4] = "maxTurns";
+ fieldNames[5] = "defenders";
+ fieldNames[6] = "attackers";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get encounterType.
+ */
+ function getEncounterType(bytes32 encounterId) internal view returns (EncounterType encounterType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return EncounterType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get encounterType.
+ */
+ function _getEncounterType(bytes32 encounterId) internal view returns (EncounterType encounterType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return EncounterType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set encounterType.
+ */
+ function setEncounterType(bytes32 encounterId, EncounterType encounterType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(encounterType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set encounterType.
+ */
+ function _setEncounterType(bytes32 encounterId, EncounterType encounterType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(encounterType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get start.
+ */
+ function getStart(bytes32 encounterId) internal view returns (uint256 start) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get start.
+ */
+ function _getStart(bytes32 encounterId) internal view returns (uint256 start) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set start.
+ */
+ function setStart(bytes32 encounterId, uint256 start) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((start)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set start.
+ */
+ function _setStart(bytes32 encounterId, uint256 start) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((start)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get end.
+ */
+ function getEnd(bytes32 encounterId) internal view returns (uint256 end) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get end.
+ */
+ function _getEnd(bytes32 encounterId) internal view returns (uint256 end) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set end.
+ */
+ function setEnd(bytes32 encounterId, uint256 end) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((end)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set end.
+ */
+ function _setEnd(bytes32 encounterId, uint256 end) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((end)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get currentTurn.
+ */
+ function getCurrentTurn(bytes32 encounterId) internal view returns (uint256 currentTurn) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get currentTurn.
+ */
+ function _getCurrentTurn(bytes32 encounterId) internal view returns (uint256 currentTurn) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set currentTurn.
+ */
+ function setCurrentTurn(bytes32 encounterId, uint256 currentTurn) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((currentTurn)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set currentTurn.
+ */
+ function _setCurrentTurn(bytes32 encounterId, uint256 currentTurn) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((currentTurn)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get maxTurns.
+ */
+ function getMaxTurns(bytes32 encounterId) internal view returns (uint256 maxTurns) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get maxTurns.
+ */
+ function _getMaxTurns(bytes32 encounterId) internal view returns (uint256 maxTurns) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set maxTurns.
+ */
+ function setMaxTurns(bytes32 encounterId, uint256 maxTurns) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((maxTurns)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set maxTurns.
+ */
+ function _setMaxTurns(bytes32 encounterId, uint256 maxTurns) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((maxTurns)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get defenders.
+ */
+ function getDefenders(bytes32 encounterId) internal view returns (bytes32[] memory defenders) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get defenders.
+ */
+ function _getDefenders(bytes32 encounterId) internal view returns (bytes32[] memory defenders) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set defenders.
+ */
+ function setDefenders(bytes32 encounterId, bytes32[] memory defenders) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((defenders)));
+ }
+
+ /**
+ * @notice Set defenders.
+ */
+ function _setDefenders(bytes32 encounterId, bytes32[] memory defenders) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((defenders)));
+ }
+
+ /**
+ * @notice Get the length of defenders.
+ */
+ function lengthDefenders(bytes32 encounterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of defenders.
+ */
+ function _lengthDefenders(bytes32 encounterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of defenders.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemDefenders(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of defenders.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemDefenders(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to defenders.
+ */
+ function pushDefenders(bytes32 encounterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to defenders.
+ */
+ function _pushDefenders(bytes32 encounterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from defenders.
+ */
+ function popDefenders(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from defenders.
+ */
+ function _popDefenders(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of defenders at `_index`.
+ */
+ function updateDefenders(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of defenders at `_index`.
+ */
+ function _updateDefenders(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get attackers.
+ */
+ function getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get attackers.
+ */
+ function _getAttackers(bytes32 encounterId) internal view returns (bytes32[] memory attackers) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set attackers.
+ */
+ function setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((attackers)));
+ }
+
+ /**
+ * @notice Set attackers.
+ */
+ function _setAttackers(bytes32 encounterId, bytes32[] memory attackers) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((attackers)));
+ }
+
+ /**
+ * @notice Get the length of attackers.
+ */
+ function lengthAttackers(bytes32 encounterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of attackers.
+ */
+ function _lengthAttackers(bytes32 encounterId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of attackers.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of attackers.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemAttackers(bytes32 encounterId, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to attackers.
+ */
+ function pushAttackers(bytes32 encounterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to attackers.
+ */
+ function _pushAttackers(bytes32 encounterId, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from attackers.
+ */
+ function popAttackers(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Pop an element from attackers.
+ */
+ function _popAttackers(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Update an element of attackers at `_index`.
+ */
+ function updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of attackers at `_index`.
+ */
+ function _updateAttackers(bytes32 encounterId, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 encounterId) internal view returns (CombatEncounterData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 encounterId) internal view returns (CombatEncounterData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bytes32 encounterId,
+ EncounterType encounterType,
+ uint256 start,
+ uint256 end,
+ uint256 currentTurn,
+ uint256 maxTurns,
+ bytes32[] memory defenders,
+ bytes32[] memory attackers
+ ) internal {
+ bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
+
+ EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
+ bytes memory _dynamicData = encodeDynamic(defenders, attackers);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bytes32 encounterId,
+ EncounterType encounterType,
+ uint256 start,
+ uint256 end,
+ uint256 currentTurn,
+ uint256 maxTurns,
+ bytes32[] memory defenders,
+ bytes32[] memory attackers
+ ) internal {
+ bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
+
+ EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
+ bytes memory _dynamicData = encodeDynamic(defenders, attackers);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 encounterId, CombatEncounterData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.encounterType,
+ _table.start,
+ _table.end,
+ _table.currentTurn,
+ _table.maxTurns
+ );
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.defenders, _table.attackers);
+ bytes memory _dynamicData = encodeDynamic(_table.defenders, _table.attackers);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 encounterId, CombatEncounterData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.encounterType,
+ _table.start,
+ _table.end,
+ _table.currentTurn,
+ _table.maxTurns
+ );
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.defenders, _table.attackers);
+ bytes memory _dynamicData = encodeDynamic(_table.defenders, _table.attackers);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(
+ bytes memory _blob
+ )
+ internal
+ pure
+ returns (EncounterType encounterType, uint256 start, uint256 end, uint256 currentTurn, uint256 maxTurns)
+ {
+ encounterType = EncounterType(uint8(Bytes.getBytes1(_blob, 0)));
+
+ start = (uint256(Bytes.getBytes32(_blob, 1)));
+
+ end = (uint256(Bytes.getBytes32(_blob, 33)));
+
+ currentTurn = (uint256(Bytes.getBytes32(_blob, 65)));
+
+ maxTurns = (uint256(Bytes.getBytes32(_blob, 97)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(
+ EncodedLengths _encodedLengths,
+ bytes memory _blob
+ ) internal pure returns (bytes32[] memory defenders, bytes32[] memory attackers) {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ defenders = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(1);
+ }
+ attackers = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths _encodedLengths,
+ bytes memory _dynamicData
+ ) internal pure returns (CombatEncounterData memory _table) {
+ (_table.encounterType, _table.start, _table.end, _table.currentTurn, _table.maxTurns) = decodeStatic(_staticData);
+
+ (_table.defenders, _table.attackers) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ EncounterType encounterType,
+ uint256 start,
+ uint256 end,
+ uint256 currentTurn,
+ uint256 maxTurns
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(encounterType, start, end, currentTurn, maxTurns);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(
+ bytes32[] memory defenders,
+ bytes32[] memory attackers
+ ) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(defenders.length * 32, attackers.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes32[] memory defenders, bytes32[] memory attackers) internal pure returns (bytes memory) {
+ return abi.encodePacked(EncodeArray.encode((defenders)), EncodeArray.encode((attackers)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ EncounterType encounterType,
+ uint256 start,
+ uint256 end,
+ uint256 currentTurn,
+ uint256 maxTurns,
+ bytes32[] memory defenders,
+ bytes32[] memory attackers
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(encounterType, start, end, currentTurn, maxTurns);
+
+ EncodedLengths _encodedLengths = encodeLengths(defenders, attackers);
+ bytes memory _dynamicData = encodeDynamic(defenders, attackers);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 encounterId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = encounterId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Counters.sol b/packages/contracts/src/codegen/tables/Counters.sol
index 5b281e079..abd943ab4 100644
--- a/packages/contracts/src/codegen/tables/Counters.sol
+++ b/packages/contracts/src/codegen/tables/Counters.sol
@@ -4,208 +4,208 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library Counters {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Counters", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000436f756e746572730000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (address, uint256)
- Schema constant _keySchema = Schema.wrap(0x00340200611f0000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256)
- Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](2);
- keyNames[0] = "contractAddress";
- keyNames[1] = "mobId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "counter";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get counter.
- */
- function getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get counter.
- */
- function _getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get counter.
- */
- function get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get counter.
- */
- function _get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set counter.
- */
- function setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
- }
-
- /**
- * @notice Set counter.
- */
- function _setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
- }
-
- /**
- * @notice Set counter.
- */
- function set(address contractAddress, uint256 mobId, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
- }
-
- /**
- * @notice Set counter.
- */
- function _set(address contractAddress, uint256 mobId, uint256 counter) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(address contractAddress, uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(address contractAddress, uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint256 counter) internal pure returns (bytes memory) {
- return abi.encodePacked(counter);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint256 counter) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(counter);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(address contractAddress, uint256 mobId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
- _keyTuple[1] = bytes32(uint256(mobId));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Counters", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000436f756e746572730000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (address, uint256)
+ Schema constant _keySchema = Schema.wrap(0x00340200611f0000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256)
+ Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](2);
+ keyNames[0] = "contractAddress";
+ keyNames[1] = "mobId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "counter";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get counter.
+ */
+ function getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get counter.
+ */
+ function _getCounter(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get counter.
+ */
+ function get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get counter.
+ */
+ function _get(address contractAddress, uint256 mobId) internal view returns (uint256 counter) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set counter.
+ */
+ function setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set counter.
+ */
+ function _setCounter(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set counter.
+ */
+ function set(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set counter.
+ */
+ function _set(address contractAddress, uint256 mobId, uint256 counter) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((counter)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(address contractAddress, uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(address contractAddress, uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint256 counter) internal pure returns (bytes memory) {
+ return abi.encodePacked(counter);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint256 counter) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(counter);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(address contractAddress, uint256 mobId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(uint160(contractAddress)));
+ _keyTuple[1] = bytes32(uint256(mobId));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol b/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
index 24dd9c423..ddeea86fd 100644
--- a/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
+++ b/packages/contracts/src/codegen/tables/EntitiesAtPosition.sol
@@ -4,484 +4,478 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library EntitiesAtPosition {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "EntitiesAtPositi", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000456e7469746965734174506f73697469);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint16, uint16)
- Schema constant _keySchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bytes32[])
- Schema constant _valueSchema = Schema.wrap(0x00000001c1000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](2);
- keyNames[0] = "x";
- keyNames[1] = "y";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "entities";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get entities.
- */
- function getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get entities.
- */
- function _getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get entities.
- */
- function get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Get entities.
- */
- function _get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
- }
-
- /**
- * @notice Set entities.
- */
- function setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Set entities.
- */
- function _setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Set entities.
- */
- function set(uint16 x, uint16 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Set entities.
- */
- function _set(uint16 x, uint16 y, bytes32[] memory entities) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Get the length of entities.
- */
- function lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of entities.
- */
- function _lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of entities.
- */
- function length(uint16 x, uint16 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of entities.
- */
- function _length(uint16 x, uint16 y) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of entities.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of entities.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of entities.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Get an item of entities.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (bytes32(_blob));
- }
- }
-
- /**
- * @notice Push an element to entities.
- */
- function pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to entities.
- */
- function _pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to entities.
- */
- function push(uint16 x, uint16 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to entities.
- */
- function _push(uint16 x, uint16 y, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from entities.
- */
- function popEntities(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from entities.
- */
- function _popEntities(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from entities.
- */
- function pop(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from entities.
- */
- function _pop(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of entities at `_index`.
- */
- function updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of entities at `_index`.
- */
- function _updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of entities at `_index`.
- */
- function update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of entities at `_index`.
- */
- function _update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint16 x, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes32[] memory entities) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(entities.length * 32);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes32[] memory entities) internal pure returns (bytes memory) {
- return abi.encodePacked(EncodeArray.encode((entities)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bytes32[] memory entities) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(entities);
- bytes memory _dynamicData = encodeDynamic(entities);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint16 x, uint16 y) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](2);
- _keyTuple[0] = bytes32(uint256(x));
- _keyTuple[1] = bytes32(uint256(y));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "EntitiesAtPositi", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000456e7469746965734174506f73697469);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint16, uint16)
+ Schema constant _keySchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bytes32[])
+ Schema constant _valueSchema = Schema.wrap(0x00000001c1000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](2);
+ keyNames[0] = "x";
+ keyNames[1] = "y";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "entities";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function _getEntities(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Get entities.
+ */
+ function _get(uint16 x, uint16 y) internal view returns (bytes32[] memory entities) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_bytes32());
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function _setEntities(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function set(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Set entities.
+ */
+ function _set(uint16 x, uint16 y, bytes32[] memory entities) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function _lengthEntities(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function length(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of entities.
+ */
+ function _length(uint16 x, uint16 y) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemEntities(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of entities.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItem(uint16 x, uint16 y, uint256 _index) internal view returns (bytes32) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (bytes32(_blob));
+ }
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function _pushEntities(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function push(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to entities.
+ */
+ function _push(uint16 x, uint16 y, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function popEntities(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function _popEntities(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function pop(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from entities.
+ */
+ function _pop(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function _updateEntities(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of entities at `_index`.
+ */
+ function _update(uint16 x, uint16 y, uint256 _index, bytes32 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint16 x, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes32[] memory entities) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(entities.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes32[] memory entities) internal pure returns (bytes memory) {
+ return abi.encodePacked(EncodeArray.encode((entities)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bytes32[] memory entities) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(entities);
+ bytes memory _dynamicData = encodeDynamic(entities);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint16 x, uint16 y) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](2);
+ _keyTuple[0] = bytes32(uint256(x));
+ _keyTuple[1] = bytes32(uint256(y));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Items.sol b/packages/contracts/src/codegen/tables/Items.sol
index 4204a825c..d7a85595c 100644
--- a/packages/contracts/src/codegen/tables/Items.sol
+++ b/packages/contracts/src/codegen/tables/Items.sol
@@ -4,517 +4,522 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import {ItemType} from "./../common.sol";
+import { ItemType } from "./../common.sol";
struct ItemsData {
- ItemType itemType;
- uint256 dropChance;
- bytes stats;
+ ItemType itemType;
+ uint256 dropChance;
+ bytes stats;
}
library Items {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Items", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004974656d730000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0021020101200000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, uint256, bytes)
- Schema constant _valueSchema = Schema.wrap(0x00210201001fc400000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "itemId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](3);
- fieldNames[0] = "itemType";
- fieldNames[1] = "dropChance";
- fieldNames[2] = "stats";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get itemType.
- */
- function getItemType(uint256 itemId) internal view returns (ItemType itemType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return ItemType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get itemType.
- */
- function _getItemType(uint256 itemId) internal view returns (ItemType itemType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return ItemType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set itemType.
- */
- function setItemType(uint256 itemId, ItemType itemType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
- }
-
- /**
- * @notice Set itemType.
- */
- function _setItemType(uint256 itemId, ItemType itemType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
- }
-
- /**
- * @notice Get dropChance.
- */
- function getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get dropChance.
- */
- function _getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set dropChance.
- */
- function setDropChance(uint256 itemId, uint256 dropChance) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
- }
-
- /**
- * @notice Set dropChance.
- */
- function _setDropChance(uint256 itemId, uint256 dropChance) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
- }
-
- /**
- * @notice Get stats.
- */
- function getStats(uint256 itemId) internal view returns (bytes memory stats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Get stats.
- */
- function _getStats(uint256 itemId) internal view returns (bytes memory stats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Set stats.
- */
- function setStats(uint256 itemId, bytes memory stats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((stats)));
- }
-
- /**
- * @notice Set stats.
- */
- function _setStats(uint256 itemId, bytes memory stats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((stats)));
- }
-
- /**
- * @notice Get the length of stats.
- */
- function lengthStats(uint256 itemId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of stats.
- */
- function _lengthStats(uint256 itemId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of stats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemStats(uint256 itemId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Get an item of stats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemStats(uint256 itemId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Push a slice to stats.
- */
- function pushStats(uint256 itemId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to stats.
- */
- function _pushStats(uint256 itemId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from stats.
- */
- function popStats(uint256 itemId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from stats.
- */
- function _popStats(uint256 itemId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of stats at `_index`.
- */
- function updateStats(uint256 itemId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of stats at `_index`.
- */
- function _updateStats(uint256 itemId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(uint256 itemId) internal view returns (ItemsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(uint256 itemId) internal view returns (ItemsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
- bytes memory _staticData = encodeStatic(itemType, dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(stats);
- bytes memory _dynamicData = encodeDynamic(stats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
- bytes memory _staticData = encodeStatic(itemType, dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(stats);
- bytes memory _dynamicData = encodeDynamic(stats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(uint256 itemId, ItemsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.stats);
- bytes memory _dynamicData = encodeDynamic(_table.stats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(uint256 itemId, ItemsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.stats);
- bytes memory _dynamicData = encodeDynamic(_table.stats);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (ItemType itemType, uint256 dropChance) {
- itemType = ItemType(uint8(Bytes.getBytes1(_blob, 0)));
-
- dropChance = (uint256(Bytes.getBytes32(_blob, 1)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
- internal
- pure
- returns (bytes memory stats)
- {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- stats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
- internal
- pure
- returns (ItemsData memory _table)
- {
- (_table.itemType, _table.dropChance) = decodeStatic(_staticData);
-
- (_table.stats) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 itemId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 itemId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(ItemType itemType, uint256 dropChance) internal pure returns (bytes memory) {
- return abi.encodePacked(itemType, dropChance);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes memory stats) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(stats).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes memory stats) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((stats)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(ItemType itemType, uint256 dropChance, bytes memory stats)
- internal
- pure
- returns (bytes memory, EncodedLengths, bytes memory)
- {
- bytes memory _staticData = encodeStatic(itemType, dropChance);
-
- EncodedLengths _encodedLengths = encodeLengths(stats);
- bytes memory _dynamicData = encodeDynamic(stats);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 itemId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(itemId));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Items", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004974656d730000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0021020101200000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint256)
+ Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, uint256, bytes)
+ Schema constant _valueSchema = Schema.wrap(0x00210201001fc400000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "itemId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](3);
+ fieldNames[0] = "itemType";
+ fieldNames[1] = "dropChance";
+ fieldNames[2] = "stats";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get itemType.
+ */
+ function getItemType(uint256 itemId) internal view returns (ItemType itemType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return ItemType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get itemType.
+ */
+ function _getItemType(uint256 itemId) internal view returns (ItemType itemType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return ItemType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set itemType.
+ */
+ function setItemType(uint256 itemId, ItemType itemType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set itemType.
+ */
+ function _setItemType(uint256 itemId, ItemType itemType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(itemType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get dropChance.
+ */
+ function getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get dropChance.
+ */
+ function _getDropChance(uint256 itemId) internal view returns (uint256 dropChance) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set dropChance.
+ */
+ function setDropChance(uint256 itemId, uint256 dropChance) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set dropChance.
+ */
+ function _setDropChance(uint256 itemId, uint256 dropChance) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((dropChance)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get stats.
+ */
+ function getStats(uint256 itemId) internal view returns (bytes memory stats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get stats.
+ */
+ function _getStats(uint256 itemId) internal view returns (bytes memory stats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set stats.
+ */
+ function setStats(uint256 itemId, bytes memory stats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((stats)));
+ }
+
+ /**
+ * @notice Set stats.
+ */
+ function _setStats(uint256 itemId, bytes memory stats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((stats)));
+ }
+
+ /**
+ * @notice Get the length of stats.
+ */
+ function lengthStats(uint256 itemId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of stats.
+ */
+ function _lengthStats(uint256 itemId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of stats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemStats(uint256 itemId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of stats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemStats(uint256 itemId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to stats.
+ */
+ function pushStats(uint256 itemId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to stats.
+ */
+ function _pushStats(uint256 itemId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from stats.
+ */
+ function popStats(uint256 itemId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from stats.
+ */
+ function _popStats(uint256 itemId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of stats at `_index`.
+ */
+ function updateStats(uint256 itemId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of stats at `_index`.
+ */
+ function _updateStats(uint256 itemId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(uint256 itemId) internal view returns (ItemsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(uint256 itemId) internal view returns (ItemsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(stats);
+ bytes memory _dynamicData = encodeDynamic(stats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(uint256 itemId, ItemType itemType, uint256 dropChance, bytes memory stats) internal {
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(stats);
+ bytes memory _dynamicData = encodeDynamic(stats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(uint256 itemId, ItemsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.stats);
+ bytes memory _dynamicData = encodeDynamic(_table.stats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(uint256 itemId, ItemsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.itemType, _table.dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.stats);
+ bytes memory _dynamicData = encodeDynamic(_table.stats);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (ItemType itemType, uint256 dropChance) {
+ itemType = ItemType(uint8(Bytes.getBytes1(_blob, 0)));
+
+ dropChance = (uint256(Bytes.getBytes32(_blob, 1)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(
+ EncodedLengths _encodedLengths,
+ bytes memory _blob
+ ) internal pure returns (bytes memory stats) {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ stats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths _encodedLengths,
+ bytes memory _dynamicData
+ ) internal pure returns (ItemsData memory _table) {
+ (_table.itemType, _table.dropChance) = decodeStatic(_staticData);
+
+ (_table.stats) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint256 itemId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint256 itemId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(ItemType itemType, uint256 dropChance) internal pure returns (bytes memory) {
+ return abi.encodePacked(itemType, dropChance);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes memory stats) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(stats).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory stats) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((stats)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ ItemType itemType,
+ uint256 dropChance,
+ bytes memory stats
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(itemType, dropChance);
+
+ EncodedLengths _encodedLengths = encodeLengths(stats);
+ bytes memory _dynamicData = encodeDynamic(stats);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint256 itemId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(itemId));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Levels.sol b/packages/contracts/src/codegen/tables/Levels.sol
index e41f28a3f..6a2ddb8a1 100644
--- a/packages/contracts/src/codegen/tables/Levels.sol
+++ b/packages/contracts/src/codegen/tables/Levels.sol
@@ -4,196 +4,196 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library Levels {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Levels", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004c6576656c7300000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256)
- Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "level";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "experience";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get experience.
- */
- function getExperience(uint256 level) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function _getExperience(uint256 level) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function get(uint256 level) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function _get(uint256 level) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set experience.
- */
- function setExperience(uint256 level, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function _setExperience(uint256 level, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function set(uint256 level, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function _set(uint256 level, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint256 experience) internal pure returns (bytes memory) {
- return abi.encodePacked(experience);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint256 experience) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(experience);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 level) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Levels", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004c6576656c7300000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0020010020000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint256)
+ Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256)
+ Schema constant _valueSchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "level";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "experience";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function getExperience(uint256 level) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function _getExperience(uint256 level) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function get(uint256 level) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function _get(uint256 level) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function setExperience(uint256 level, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function _setExperience(uint256 level, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function set(uint256 level, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function _set(uint256 level, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint256 experience) internal pure returns (bytes memory) {
+ return abi.encodePacked(experience);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint256 experience) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(experience);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint256 level) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/MapConfig.sol b/packages/contracts/src/codegen/tables/MapConfig.sol
index ec9b0735d..b4ee8307b 100644
--- a/packages/contracts/src/codegen/tables/MapConfig.sol
+++ b/packages/contracts/src/codegen/tables/MapConfig.sol
@@ -4,258 +4,264 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library MapConfig {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MapConfig", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6170436f6e66696700000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of ()
- Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint16, uint16)
- Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](0);
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "height";
- fieldNames[1] = "width";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get height.
- */
- function getHeight() internal view returns (uint16 height) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Get height.
- */
- function _getHeight() internal view returns (uint16 height) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Set height.
- */
- function setHeight(uint16 height) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
- }
-
- /**
- * @notice Set height.
- */
- function _setHeight(uint16 height) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
- }
-
- /**
- * @notice Get width.
- */
- function getWidth() internal view returns (uint16 width) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Get width.
- */
- function _getWidth() internal view returns (uint16 width) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Set width.
- */
- function setWidth(uint16 width) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
- }
-
- /**
- * @notice Set width.
- */
- function _setWidth(uint16 width) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get() internal view returns (uint16 height, uint16 width) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get() internal view returns (uint16 height, uint16 width) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint16 height, uint16 width) internal {
- bytes memory _staticData = encodeStatic(height, width);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint16 height, uint16 width) internal {
- bytes memory _staticData = encodeStatic(height, width);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (uint16 height, uint16 width) {
- height = (uint16(Bytes.getBytes2(_blob, 0)));
-
- width = (uint16(Bytes.getBytes2(_blob, 2)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(bytes memory _staticData, EncodedLengths, bytes memory)
- internal
- pure
- returns (uint16 height, uint16 width)
- {
- (height, width) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord() internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord() internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint16 height, uint16 width) internal pure returns (bytes memory) {
- return abi.encodePacked(height, width);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint16 height, uint16 width) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(height, width);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple() internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MapConfig", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6170436f6e66696700000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of ()
+ Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint16, uint16)
+ Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](0);
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "height";
+ fieldNames[1] = "width";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get height.
+ */
+ function getHeight() internal view returns (uint16 height) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get height.
+ */
+ function _getHeight() internal view returns (uint16 height) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set height.
+ */
+ function setHeight(uint16 height) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set height.
+ */
+ function _setHeight(uint16 height) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((height)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get width.
+ */
+ function getWidth() internal view returns (uint16 width) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get width.
+ */
+ function _getWidth() internal view returns (uint16 width) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set width.
+ */
+ function setWidth(uint16 width) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set width.
+ */
+ function _setWidth(uint16 width) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((width)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get() internal view returns (uint16 height, uint16 width) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get() internal view returns (uint16 height, uint16 width) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(uint16 height, uint16 width) internal {
+ bytes memory _staticData = encodeStatic(height, width);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(uint16 height, uint16 width) internal {
+ bytes memory _staticData = encodeStatic(height, width);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (uint16 height, uint16 width) {
+ height = (uint16(Bytes.getBytes2(_blob, 0)));
+
+ width = (uint16(Bytes.getBytes2(_blob, 2)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths,
+ bytes memory
+ ) internal pure returns (uint16 height, uint16 width) {
+ (height, width) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord() internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord() internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint16 height, uint16 width) internal pure returns (bytes memory) {
+ return abi.encodePacked(height, width);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint16 height, uint16 width) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(height, width);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple() internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/MatchEntity.sol b/packages/contracts/src/codegen/tables/MatchEntity.sol
index 098d62179..7333f9719 100644
--- a/packages/contracts/src/codegen/tables/MatchEntity.sol
+++ b/packages/contracts/src/codegen/tables/MatchEntity.sol
@@ -4,313 +4,318 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
struct MatchEntityData {
- bytes32 encounterId;
- int256 damageTaken;
+ bytes32 encounterId;
+ int256 damageTaken;
}
library MatchEntity {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MatchEntity", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d61746368456e746974790000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0040020020200000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bytes32, int256)
- Schema constant _valueSchema = Schema.wrap(0x004002005f3f0000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "matchEntityId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "encounterId";
- fieldNames[1] = "damageTaken";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get encounterId.
- */
- function getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Get encounterId.
- */
- function _getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (bytes32(_blob));
- }
-
- /**
- * @notice Set encounterId.
- */
- function setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
- }
-
- /**
- * @notice Set encounterId.
- */
- function _setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
- }
-
- /**
- * @notice Get damageTaken.
- */
- function getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get damageTaken.
- */
- function _getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set damageTaken.
- */
- function setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
- }
-
- /**
- * @notice Set damageTaken.
- */
- function _setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
- bytes memory _staticData = encodeStatic(encounterId, damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
- bytes memory _staticData = encodeStatic(encounterId, damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (bytes32 encounterId, int256 damageTaken) {
- encounterId = (Bytes.getBytes32(_blob, 0));
-
- damageTaken = (int256(uint256(Bytes.getBytes32(_blob, 32))));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(bytes memory _staticData, EncodedLengths, bytes memory)
- internal
- pure
- returns (MatchEntityData memory _table)
- {
- (_table.encounterId, _table.damageTaken) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 matchEntityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 matchEntityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(bytes32 encounterId, int256 damageTaken) internal pure returns (bytes memory) {
- return abi.encodePacked(encounterId, damageTaken);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bytes32 encounterId, int256 damageTaken)
- internal
- pure
- returns (bytes memory, EncodedLengths, bytes memory)
- {
- bytes memory _staticData = encodeStatic(encounterId, damageTaken);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 matchEntityId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = matchEntityId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MatchEntity", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d61746368456e746974790000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0040020020200000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bytes32, int256)
+ Schema constant _valueSchema = Schema.wrap(0x004002005f3f0000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "matchEntityId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "encounterId";
+ fieldNames[1] = "damageTaken";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get encounterId.
+ */
+ function getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Get encounterId.
+ */
+ function _getEncounterId(bytes32 matchEntityId) internal view returns (bytes32 encounterId) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (bytes32(_blob));
+ }
+
+ /**
+ * @notice Set encounterId.
+ */
+ function setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set encounterId.
+ */
+ function _setEncounterId(bytes32 matchEntityId, bytes32 encounterId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((encounterId)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get damageTaken.
+ */
+ function getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get damageTaken.
+ */
+ function _getDamageTaken(bytes32 matchEntityId) internal view returns (int256 damageTaken) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set damageTaken.
+ */
+ function setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set damageTaken.
+ */
+ function _setDamageTaken(bytes32 matchEntityId, int256 damageTaken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((damageTaken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 matchEntityId) internal view returns (MatchEntityData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 matchEntityId, bytes32 encounterId, int256 damageTaken) internal {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 matchEntityId, MatchEntityData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.encounterId, _table.damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (bytes32 encounterId, int256 damageTaken) {
+ encounterId = (Bytes.getBytes32(_blob, 0));
+
+ damageTaken = (int256(uint256(Bytes.getBytes32(_blob, 32))));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths,
+ bytes memory
+ ) internal pure returns (MatchEntityData memory _table) {
+ (_table.encounterId, _table.damageTaken) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 matchEntityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 matchEntityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bytes32 encounterId, int256 damageTaken) internal pure returns (bytes memory) {
+ return abi.encodePacked(encounterId, damageTaken);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ bytes32 encounterId,
+ int256 damageTaken
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(encounterId, damageTaken);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 matchEntityId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = matchEntityId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Mobs.sol b/packages/contracts/src/codegen/tables/Mobs.sol
index 626993865..afda1d10e 100644
--- a/packages/contracts/src/codegen/tables/Mobs.sol
+++ b/packages/contracts/src/codegen/tables/Mobs.sol
@@ -4,645 +4,649 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import {MobType} from "./../common.sol";
+import { MobType } from "./../common.sol";
struct MobsData {
- MobType mobType;
- bytes mobStats;
- string mobMetadata;
+ MobType mobType;
+ bytes mobStats;
+ string mobMetadata;
}
library Mobs {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Mobs", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f6273000000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010201000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, bytes, string)
- Schema constant _valueSchema = Schema.wrap(0x0001010200c4c500000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "mobId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](3);
- fieldNames[0] = "mobType";
- fieldNames[1] = "mobStats";
- fieldNames[2] = "mobMetadata";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get mobType.
- */
- function getMobType(uint256 mobId) internal view returns (MobType mobType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return MobType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get mobType.
- */
- function _getMobType(uint256 mobId) internal view returns (MobType mobType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return MobType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set mobType.
- */
- function setMobType(uint256 mobId, MobType mobType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(mobType)), _fieldLayout);
- }
-
- /**
- * @notice Set mobType.
- */
- function _setMobType(uint256 mobId, MobType mobType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(mobType)), _fieldLayout);
- }
-
- /**
- * @notice Get mobStats.
- */
- function getMobStats(uint256 mobId) internal view returns (bytes memory mobStats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Get mobStats.
- */
- function _getMobStats(uint256 mobId) internal view returns (bytes memory mobStats) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Set mobStats.
- */
- function setMobStats(uint256 mobId, bytes memory mobStats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((mobStats)));
- }
-
- /**
- * @notice Set mobStats.
- */
- function _setMobStats(uint256 mobId, bytes memory mobStats) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((mobStats)));
- }
-
- /**
- * @notice Get the length of mobStats.
- */
- function lengthMobStats(uint256 mobId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of mobStats.
- */
- function _lengthMobStats(uint256 mobId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of mobStats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemMobStats(uint256 mobId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Get an item of mobStats.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemMobStats(uint256 mobId, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Push a slice to mobStats.
- */
- function pushMobStats(uint256 mobId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to mobStats.
- */
- function _pushMobStats(uint256 mobId, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from mobStats.
- */
- function popMobStats(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from mobStats.
- */
- function _popMobStats(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of mobStats at `_index`.
- */
- function updateMobStats(uint256 mobId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of mobStats at `_index`.
- */
- function _updateMobStats(uint256 mobId, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get mobMetadata.
- */
- function getMobMetadata(uint256 mobId) internal view returns (string memory mobMetadata) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (string(_blob));
- }
-
- /**
- * @notice Get mobMetadata.
- */
- function _getMobMetadata(uint256 mobId) internal view returns (string memory mobMetadata) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (string(_blob));
- }
-
- /**
- * @notice Set mobMetadata.
- */
- function setMobMetadata(uint256 mobId, string memory mobMetadata) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, bytes((mobMetadata)));
- }
-
- /**
- * @notice Set mobMetadata.
- */
- function _setMobMetadata(uint256 mobId, string memory mobMetadata) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 1, bytes((mobMetadata)));
- }
-
- /**
- * @notice Get the length of mobMetadata.
- */
- function lengthMobMetadata(uint256 mobId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of mobMetadata.
- */
- function _lengthMobMetadata(uint256 mobId) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of mobMetadata.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemMobMetadata(uint256 mobId, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Get an item of mobMetadata.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemMobMetadata(uint256 mobId, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Push a slice to mobMetadata.
- */
- function pushMobMetadata(uint256 mobId, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to mobMetadata.
- */
- function _pushMobMetadata(uint256 mobId, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from mobMetadata.
- */
- function popMobMetadata(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 1);
- }
-
- /**
- * @notice Pop a slice from mobMetadata.
- */
- function _popMobMetadata(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 1);
- }
-
- /**
- * @notice Update a slice of mobMetadata at `_index`.
- */
- function updateMobMetadata(uint256 mobId, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of mobMetadata at `_index`.
- */
- function _updateMobMetadata(uint256 mobId, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(uint256 mobId) internal view returns (MobsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(uint256 mobId) internal view returns (MobsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint256 mobId, MobType mobType, bytes memory mobStats, string memory mobMetadata) internal {
- bytes memory _staticData = encodeStatic(mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
- bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint256 mobId, MobType mobType, bytes memory mobStats, string memory mobMetadata) internal {
- bytes memory _staticData = encodeStatic(mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
- bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(uint256 mobId, MobsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.mobStats, _table.mobMetadata);
- bytes memory _dynamicData = encodeDynamic(_table.mobStats, _table.mobMetadata);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(uint256 mobId, MobsData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.mobStats, _table.mobMetadata);
- bytes memory _dynamicData = encodeDynamic(_table.mobStats, _table.mobMetadata);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (MobType mobType) {
- mobType = MobType(uint8(Bytes.getBytes1(_blob, 0)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
- internal
- pure
- returns (bytes memory mobStats, string memory mobMetadata)
- {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- mobStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(1);
- }
- mobMetadata = (string(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
- internal
- pure
- returns (MobsData memory _table)
- {
- (_table.mobType) = decodeStatic(_staticData);
-
- (_table.mobStats, _table.mobMetadata) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 mobId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(MobType mobType) internal pure returns (bytes memory) {
- return abi.encodePacked(mobType);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes memory mobStats, string memory mobMetadata)
- internal
- pure
- returns (EncodedLengths _encodedLengths)
- {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(mobStats).length, bytes(mobMetadata).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes memory mobStats, string memory mobMetadata) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((mobStats)), bytes((mobMetadata)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(MobType mobType, bytes memory mobStats, string memory mobMetadata)
- internal
- pure
- returns (bytes memory, EncodedLengths, bytes memory)
- {
- bytes memory _staticData = encodeStatic(mobType);
-
- EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
- bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 mobId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(mobId));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Mobs", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f6273000000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010201000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint256)
+ Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, bytes, string)
+ Schema constant _valueSchema = Schema.wrap(0x0001010200c4c500000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "mobId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](3);
+ fieldNames[0] = "mobType";
+ fieldNames[1] = "mobStats";
+ fieldNames[2] = "mobMetadata";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get mobType.
+ */
+ function getMobType(uint256 mobId) internal view returns (MobType mobType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return MobType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get mobType.
+ */
+ function _getMobType(uint256 mobId) internal view returns (MobType mobType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return MobType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set mobType.
+ */
+ function setMobType(uint256 mobId, MobType mobType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(mobType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set mobType.
+ */
+ function _setMobType(uint256 mobId, MobType mobType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(mobType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get mobStats.
+ */
+ function getMobStats(uint256 mobId) internal view returns (bytes memory mobStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get mobStats.
+ */
+ function _getMobStats(uint256 mobId) internal view returns (bytes memory mobStats) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set mobStats.
+ */
+ function setMobStats(uint256 mobId, bytes memory mobStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((mobStats)));
+ }
+
+ /**
+ * @notice Set mobStats.
+ */
+ function _setMobStats(uint256 mobId, bytes memory mobStats) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((mobStats)));
+ }
+
+ /**
+ * @notice Get the length of mobStats.
+ */
+ function lengthMobStats(uint256 mobId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobStats.
+ */
+ function _lengthMobStats(uint256 mobId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of mobStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemMobStats(uint256 mobId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobStats.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemMobStats(uint256 mobId, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to mobStats.
+ */
+ function pushMobStats(uint256 mobId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to mobStats.
+ */
+ function _pushMobStats(uint256 mobId, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from mobStats.
+ */
+ function popMobStats(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from mobStats.
+ */
+ function _popMobStats(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of mobStats at `_index`.
+ */
+ function updateMobStats(uint256 mobId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of mobStats at `_index`.
+ */
+ function _updateMobStats(uint256 mobId, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get mobMetadata.
+ */
+ function getMobMetadata(uint256 mobId) internal view returns (string memory mobMetadata) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Get mobMetadata.
+ */
+ function _getMobMetadata(uint256 mobId) internal view returns (string memory mobMetadata) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Set mobMetadata.
+ */
+ function setMobMetadata(uint256 mobId, string memory mobMetadata) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, bytes((mobMetadata)));
+ }
+
+ /**
+ * @notice Set mobMetadata.
+ */
+ function _setMobMetadata(uint256 mobId, string memory mobMetadata) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 1, bytes((mobMetadata)));
+ }
+
+ /**
+ * @notice Get the length of mobMetadata.
+ */
+ function lengthMobMetadata(uint256 mobId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobMetadata.
+ */
+ function _lengthMobMetadata(uint256 mobId) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of mobMetadata.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemMobMetadata(uint256 mobId, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobMetadata.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemMobMetadata(uint256 mobId, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to mobMetadata.
+ */
+ function pushMobMetadata(uint256 mobId, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to mobMetadata.
+ */
+ function _pushMobMetadata(uint256 mobId, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from mobMetadata.
+ */
+ function popMobMetadata(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 1);
+ }
+
+ /**
+ * @notice Pop a slice from mobMetadata.
+ */
+ function _popMobMetadata(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 1);
+ }
+
+ /**
+ * @notice Update a slice of mobMetadata at `_index`.
+ */
+ function updateMobMetadata(uint256 mobId, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of mobMetadata at `_index`.
+ */
+ function _updateMobMetadata(uint256 mobId, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(uint256 mobId) internal view returns (MobsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(uint256 mobId) internal view returns (MobsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(uint256 mobId, MobType mobType, bytes memory mobStats, string memory mobMetadata) internal {
+ bytes memory _staticData = encodeStatic(mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(uint256 mobId, MobType mobType, bytes memory mobStats, string memory mobMetadata) internal {
+ bytes memory _staticData = encodeStatic(mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(uint256 mobId, MobsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.mobStats, _table.mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(_table.mobStats, _table.mobMetadata);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(uint256 mobId, MobsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.mobStats, _table.mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(_table.mobStats, _table.mobMetadata);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (MobType mobType) {
+ mobType = MobType(uint8(Bytes.getBytes1(_blob, 0)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(
+ EncodedLengths _encodedLengths,
+ bytes memory _blob
+ ) internal pure returns (bytes memory mobStats, string memory mobMetadata) {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ mobStats = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(1);
+ }
+ mobMetadata = (string(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths _encodedLengths,
+ bytes memory _dynamicData
+ ) internal pure returns (MobsData memory _table) {
+ (_table.mobType) = decodeStatic(_staticData);
+
+ (_table.mobStats, _table.mobMetadata) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint256 mobId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(MobType mobType) internal pure returns (bytes memory) {
+ return abi.encodePacked(mobType);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(
+ bytes memory mobStats,
+ string memory mobMetadata
+ ) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(mobStats).length, bytes(mobMetadata).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory mobStats, string memory mobMetadata) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((mobStats)), bytes((mobMetadata)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ MobType mobType,
+ bytes memory mobStats,
+ string memory mobMetadata
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(mobType);
+
+ EncodedLengths _encodedLengths = encodeLengths(mobStats, mobMetadata);
+ bytes memory _dynamicData = encodeDynamic(mobStats, mobMetadata);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint256 mobId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(mobId));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/MobsByLevel.sol b/packages/contracts/src/codegen/tables/MobsByLevel.sol
index 9e3405e43..8a401ad46 100644
--- a/packages/contracts/src/codegen/tables/MobsByLevel.sol
+++ b/packages/contracts/src/codegen/tables/MobsByLevel.sol
@@ -4,452 +4,446 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library MobsByLevel {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MobsByLevel", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f627342794c6576656c0000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint256)
- Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256[])
- Schema constant _valueSchema = Schema.wrap(0x0000000181000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "level";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "mobIds";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get mobIds.
- */
- function getMobIds(uint256 level) internal view returns (uint256[] memory mobIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get mobIds.
- */
- function _getMobIds(uint256 level) internal view returns (uint256[] memory mobIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get mobIds.
- */
- function get(uint256 level) internal view returns (uint256[] memory mobIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get mobIds.
- */
- function _get(uint256 level) internal view returns (uint256[] memory mobIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set mobIds.
- */
- function setMobIds(uint256 level, uint256[] memory mobIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Set mobIds.
- */
- function _setMobIds(uint256 level, uint256[] memory mobIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Set mobIds.
- */
- function set(uint256 level, uint256[] memory mobIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Set mobIds.
- */
- function _set(uint256 level, uint256[] memory mobIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Get the length of mobIds.
- */
- function lengthMobIds(uint256 level) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of mobIds.
- */
- function _lengthMobIds(uint256 level) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of mobIds.
- */
- function length(uint256 level) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of mobIds.
- */
- function _length(uint256 level) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of mobIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemMobIds(uint256 level, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of mobIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemMobIds(uint256 level, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of mobIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItem(uint256 level, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of mobIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItem(uint256 level, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to mobIds.
- */
- function pushMobIds(uint256 level, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to mobIds.
- */
- function _pushMobIds(uint256 level, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to mobIds.
- */
- function push(uint256 level, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to mobIds.
- */
- function _push(uint256 level, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from mobIds.
- */
- function popMobIds(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from mobIds.
- */
- function _popMobIds(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from mobIds.
- */
- function pop(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from mobIds.
- */
- function _pop(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of mobIds at `_index`.
- */
- function updateMobIds(uint256 level, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of mobIds at `_index`.
- */
- function _updateMobIds(uint256 level, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update an element of mobIds at `_index`.
- */
- function update(uint256 level, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of mobIds at `_index`.
- */
- function _update(uint256 level, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(uint256[] memory mobIds) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(mobIds.length * 32);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(uint256[] memory mobIds) internal pure returns (bytes memory) {
- return abi.encodePacked(EncodeArray.encode((mobIds)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint256[] memory mobIds) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(mobIds);
- bytes memory _dynamicData = encodeDynamic(mobIds);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint256 level) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(level));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "MobsByLevel", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004d6f627342794c6576656c0000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint256)
+ Schema constant _keySchema = Schema.wrap(0x002001001f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256[])
+ Schema constant _valueSchema = Schema.wrap(0x0000000181000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "level";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "mobIds";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get mobIds.
+ */
+ function getMobIds(uint256 level) internal view returns (uint256[] memory mobIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get mobIds.
+ */
+ function _getMobIds(uint256 level) internal view returns (uint256[] memory mobIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get mobIds.
+ */
+ function get(uint256 level) internal view returns (uint256[] memory mobIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get mobIds.
+ */
+ function _get(uint256 level) internal view returns (uint256[] memory mobIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set mobIds.
+ */
+ function setMobIds(uint256 level, uint256[] memory mobIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Set mobIds.
+ */
+ function _setMobIds(uint256 level, uint256[] memory mobIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Set mobIds.
+ */
+ function set(uint256 level, uint256[] memory mobIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Set mobIds.
+ */
+ function _set(uint256 level, uint256[] memory mobIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Get the length of mobIds.
+ */
+ function lengthMobIds(uint256 level) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobIds.
+ */
+ function _lengthMobIds(uint256 level) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobIds.
+ */
+ function length(uint256 level) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of mobIds.
+ */
+ function _length(uint256 level) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of mobIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemMobIds(uint256 level, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemMobIds(uint256 level, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItem(uint256 level, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of mobIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItem(uint256 level, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to mobIds.
+ */
+ function pushMobIds(uint256 level, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to mobIds.
+ */
+ function _pushMobIds(uint256 level, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to mobIds.
+ */
+ function push(uint256 level, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to mobIds.
+ */
+ function _push(uint256 level, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from mobIds.
+ */
+ function popMobIds(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from mobIds.
+ */
+ function _popMobIds(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from mobIds.
+ */
+ function pop(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from mobIds.
+ */
+ function _pop(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of mobIds at `_index`.
+ */
+ function updateMobIds(uint256 level, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of mobIds at `_index`.
+ */
+ function _updateMobIds(uint256 level, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of mobIds at `_index`.
+ */
+ function update(uint256 level, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of mobIds at `_index`.
+ */
+ function _update(uint256 level, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(uint256[] memory mobIds) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(mobIds.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(uint256[] memory mobIds) internal pure returns (bytes memory) {
+ return abi.encodePacked(EncodeArray.encode((mobIds)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint256[] memory mobIds) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(mobIds);
+ bytes memory _dynamicData = encodeDynamic(mobIds);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint256 level) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(level));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Name.sol b/packages/contracts/src/codegen/tables/Name.sol
index 567382000..457c9c4bd 100644
--- a/packages/contracts/src/codegen/tables/Name.sol
+++ b/packages/contracts/src/codegen/tables/Name.sol
@@ -4,446 +4,446 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library Name {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Name", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004e616d65000000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (string)
- Schema constant _valueSchema = Schema.wrap(0x00000001c5000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "id";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "value";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get value.
- */
- function getValue(bytes32 id) internal view returns (string memory value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (string(_blob));
- }
-
- /**
- * @notice Get value.
- */
- function _getValue(bytes32 id) internal view returns (string memory value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (string(_blob));
- }
-
- /**
- * @notice Get value.
- */
- function get(bytes32 id) internal view returns (string memory value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (string(_blob));
- }
-
- /**
- * @notice Get value.
- */
- function _get(bytes32 id) internal view returns (string memory value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (string(_blob));
- }
-
- /**
- * @notice Set value.
- */
- function setValue(bytes32 id, string memory value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
- }
-
- /**
- * @notice Set value.
- */
- function _setValue(bytes32 id, string memory value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
- }
-
- /**
- * @notice Set value.
- */
- function set(bytes32 id, string memory value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
- }
-
- /**
- * @notice Set value.
- */
- function _set(bytes32 id, string memory value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
- }
-
- /**
- * @notice Get the length of value.
- */
- function lengthValue(bytes32 id) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of value.
- */
- function _lengthValue(bytes32 id) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of value.
- */
- function length(bytes32 id) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of value.
- */
- function _length(bytes32 id) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of value.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemValue(bytes32 id, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Get an item of value.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemValue(bytes32 id, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Get an item of value.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItem(bytes32 id, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Get an item of value.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItem(bytes32 id, uint256 _index) internal view returns (string memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (string(_blob));
- }
- }
-
- /**
- * @notice Push a slice to value.
- */
- function pushValue(bytes32 id, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to value.
- */
- function _pushValue(bytes32 id, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to value.
- */
- function push(bytes32 id, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to value.
- */
- function _push(bytes32 id, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from value.
- */
- function popValue(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from value.
- */
- function _popValue(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from value.
- */
- function pop(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from value.
- */
- function _pop(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of value at `_index`.
- */
- function updateValue(bytes32 id, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of value at `_index`.
- */
- function _updateValue(bytes32 id, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of value at `_index`.
- */
- function update(bytes32 id, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of value at `_index`.
- */
- function _update(bytes32 id, uint256 _index, string memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 id) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(string memory value) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(value).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(string memory value) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((value)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(string memory value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(value);
- bytes memory _dynamicData = encodeDynamic(value);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 id) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = id;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Name", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004e616d65000000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000100000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (string)
+ Schema constant _valueSchema = Schema.wrap(0x00000001c5000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "id";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "value";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function getValue(bytes32 id) internal view returns (string memory value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _getValue(bytes32 id) internal view returns (string memory value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function get(bytes32 id) internal view returns (string memory value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _get(bytes32 id) internal view returns (string memory value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (string(_blob));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function setValue(bytes32 id, string memory value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _setValue(bytes32 id, string memory value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function set(bytes32 id, string memory value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _set(bytes32 id, string memory value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((value)));
+ }
+
+ /**
+ * @notice Get the length of value.
+ */
+ function lengthValue(bytes32 id) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of value.
+ */
+ function _lengthValue(bytes32 id) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of value.
+ */
+ function length(bytes32 id) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of value.
+ */
+ function _length(bytes32 id) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of value.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemValue(bytes32 id, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of value.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemValue(bytes32 id, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of value.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItem(bytes32 id, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of value.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItem(bytes32 id, uint256 _index) internal view returns (string memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (string(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to value.
+ */
+ function pushValue(bytes32 id, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to value.
+ */
+ function _pushValue(bytes32 id, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to value.
+ */
+ function push(bytes32 id, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to value.
+ */
+ function _push(bytes32 id, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from value.
+ */
+ function popValue(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from value.
+ */
+ function _popValue(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from value.
+ */
+ function pop(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from value.
+ */
+ function _pop(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of value at `_index`.
+ */
+ function updateValue(bytes32 id, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of value at `_index`.
+ */
+ function _updateValue(bytes32 id, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of value at `_index`.
+ */
+ function update(bytes32 id, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of value at `_index`.
+ */
+ function _update(bytes32 id, uint256 _index, string memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 id) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(string memory value) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(value).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(string memory value) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((value)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(string memory value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(value);
+ bytes memory _dynamicData = encodeDynamic(value);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 id) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = id;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/NameExists.sol b/packages/contracts/src/codegen/tables/NameExists.sol
index d73781b26..ff68229ed 100644
--- a/packages/contracts/src/codegen/tables/NameExists.sol
+++ b/packages/contracts/src/codegen/tables/NameExists.sol
@@ -4,198 +4,198 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library NameExists {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "NameExists", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004e616d65457869737473000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool)
- Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "nameData";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "value";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get value.
- */
- function getValue(bytes32 nameData) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function _getValue(bytes32 nameData) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function get(bytes32 nameData) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get value.
- */
- function _get(bytes32 nameData) internal view returns (bool value) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set value.
- */
- function setValue(bytes32 nameData, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function _setValue(bytes32 nameData, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function set(bytes32 nameData, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Set value.
- */
- function _set(bytes32 nameData, bool value) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 nameData) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 nameData) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(bool value) internal pure returns (bytes memory) {
- return abi.encodePacked(value);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bool value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(value);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 nameData) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = nameData;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "NameExists", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x746255440000000000000000000000004e616d65457869737473000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool)
+ Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "nameData";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "value";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function getValue(bytes32 nameData) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _getValue(bytes32 nameData) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function get(bytes32 nameData) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get value.
+ */
+ function _get(bytes32 nameData) internal view returns (bool value) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function setValue(bytes32 nameData, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _setValue(bytes32 nameData, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function set(bytes32 nameData, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set value.
+ */
+ function _set(bytes32 nameData, bool value) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((value)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 nameData) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 nameData) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bool value) internal pure returns (bytes memory) {
+ return abi.encodePacked(value);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bool value) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(value);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 nameData) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = nameData;
+
+ return _keyTuple;
+ }
}
/**
@@ -205,7 +205,7 @@ library NameExists {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Position.sol b/packages/contracts/src/codegen/tables/Position.sol
index 632db1f04..67bcacf09 100644
--- a/packages/contracts/src/codegen/tables/Position.sol
+++ b/packages/contracts/src/codegen/tables/Position.sol
@@ -4,274 +4,276 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library Position {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Position", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000506f736974696f6e0000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint16, uint16)
- Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "entity";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "x";
- fieldNames[1] = "y";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get x.
- */
- function getX(bytes32 entity) internal view returns (uint16 x) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Get x.
- */
- function _getX(bytes32 entity) internal view returns (uint16 x) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Set x.
- */
- function setX(bytes32 entity, uint16 x) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
- }
-
- /**
- * @notice Set x.
- */
- function _setX(bytes32 entity, uint16 x) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
- }
-
- /**
- * @notice Get y.
- */
- function getY(bytes32 entity) internal view returns (uint16 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Get y.
- */
- function _getY(bytes32 entity) internal view returns (uint16 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint16(bytes2(_blob)));
- }
-
- /**
- * @notice Set y.
- */
- function setY(bytes32 entity, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
- }
-
- /**
- * @notice Set y.
- */
- function _setY(bytes32 entity, uint16 y) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(bytes32 entity, uint16 x, uint16 y) internal {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(bytes32 entity, uint16 x, uint16 y) internal {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (uint16 x, uint16 y) {
- x = (uint16(Bytes.getBytes2(_blob, 0)));
-
- y = (uint16(Bytes.getBytes2(_blob, 2)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(bytes memory _staticData, EncodedLengths, bytes memory)
- internal
- pure
- returns (uint16 x, uint16 y)
- {
- (x, y) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 entity) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 entity) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(uint16 x, uint16 y) internal pure returns (bytes memory) {
- return abi.encodePacked(x, y);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint16 x, uint16 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(x, y);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 entity) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entity;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Position", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000506f736974696f6e0000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0004020002020000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint16, uint16)
+ Schema constant _valueSchema = Schema.wrap(0x0004020001010000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "entity";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "x";
+ fieldNames[1] = "y";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get x.
+ */
+ function getX(bytes32 entity) internal view returns (uint16 x) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get x.
+ */
+ function _getX(bytes32 entity) internal view returns (uint16 x) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set x.
+ */
+ function setX(bytes32 entity, uint16 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set x.
+ */
+ function _setX(bytes32 entity, uint16 x) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((x)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get y.
+ */
+ function getY(bytes32 entity) internal view returns (uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Get y.
+ */
+ function _getY(bytes32 entity) internal view returns (uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint16(bytes2(_blob)));
+ }
+
+ /**
+ * @notice Set y.
+ */
+ function setY(bytes32 entity, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set y.
+ */
+ function _setY(bytes32 entity, uint16 y) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((y)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 entity) internal view returns (uint16 x, uint16 y) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(bytes32 entity, uint16 x, uint16 y) internal {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(bytes32 entity, uint16 x, uint16 y) internal {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (uint16 x, uint16 y) {
+ x = (uint16(Bytes.getBytes2(_blob, 0)));
+
+ y = (uint16(Bytes.getBytes2(_blob, 2)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(bytes memory _staticData, EncodedLengths, bytes memory) internal pure returns (uint16 x, uint16 y) {
+ (x, y) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 entity) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(uint16 x, uint16 y) internal pure returns (bytes memory) {
+ return abi.encodePacked(x, y);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(uint16 x, uint16 y) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(x, y);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 entity) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entity;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/RandomNumbers.sol b/packages/contracts/src/codegen/tables/RandomNumbers.sol
index 4b24b193f..82c210a9c 100644
--- a/packages/contracts/src/codegen/tables/RandomNumbers.sol
+++ b/packages/contracts/src/codegen/tables/RandomNumbers.sol
@@ -4,471 +4,475 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import {RngRequestType} from "./../common.sol";
+import { RngRequestType } from "./../common.sol";
struct RandomNumbersData {
- RngRequestType RequestType;
- bytes arbitraryData;
+ RngRequestType RequestType;
+ bytes arbitraryData;
}
library RandomNumbers {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "RandomNumbers", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000052616e646f6d4e756d62657273000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint64)
- Schema constant _keySchema = Schema.wrap(0x0008010007000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint8, bytes)
- Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "sequenceNumber";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "RequestType";
- fieldNames[1] = "arbitraryData";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get RequestType.
- */
- function getRequestType(uint64 sequenceNumber) internal view returns (RngRequestType RequestType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return RngRequestType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get RequestType.
- */
- function _getRequestType(uint64 sequenceNumber) internal view returns (RngRequestType RequestType) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return RngRequestType(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set RequestType.
- */
- function setRequestType(uint64 sequenceNumber, RngRequestType RequestType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(RequestType)), _fieldLayout);
- }
-
- /**
- * @notice Set RequestType.
- */
- function _setRequestType(uint64 sequenceNumber, RngRequestType RequestType) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(RequestType)), _fieldLayout);
- }
-
- /**
- * @notice Get arbitraryData.
- */
- function getArbitraryData(uint64 sequenceNumber) internal view returns (bytes memory arbitraryData) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Get arbitraryData.
- */
- function _getArbitraryData(uint64 sequenceNumber) internal view returns (bytes memory arbitraryData) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (bytes(_blob));
- }
-
- /**
- * @notice Set arbitraryData.
- */
- function setArbitraryData(uint64 sequenceNumber, bytes memory arbitraryData) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((arbitraryData)));
- }
-
- /**
- * @notice Set arbitraryData.
- */
- function _setArbitraryData(uint64 sequenceNumber, bytes memory arbitraryData) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((arbitraryData)));
- }
-
- /**
- * @notice Get the length of arbitraryData.
- */
- function lengthArbitraryData(uint64 sequenceNumber) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get the length of arbitraryData.
- */
- function _lengthArbitraryData(uint64 sequenceNumber) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 1;
- }
- }
-
- /**
- * @notice Get an item of arbitraryData.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemArbitraryData(uint64 sequenceNumber, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- unchecked {
- bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Get an item of arbitraryData.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemArbitraryData(uint64 sequenceNumber, uint256 _index) internal view returns (bytes memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
- return (bytes(_blob));
- }
- }
-
- /**
- * @notice Push a slice to arbitraryData.
- */
- function pushArbitraryData(uint64 sequenceNumber, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Push a slice to arbitraryData.
- */
- function _pushArbitraryData(uint64 sequenceNumber, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
- }
-
- /**
- * @notice Pop a slice from arbitraryData.
- */
- function popArbitraryData(uint64 sequenceNumber) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Pop a slice from arbitraryData.
- */
- function _popArbitraryData(uint64 sequenceNumber) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
- }
-
- /**
- * @notice Update a slice of arbitraryData at `_index`.
- */
- function updateArbitraryData(uint64 sequenceNumber, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Update a slice of arbitraryData at `_index`.
- */
- function _updateArbitraryData(uint64 sequenceNumber, uint256 _index, bytes memory _slice) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- unchecked {
- bytes memory _encoded = bytes((_slice));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(uint64 sequenceNumber) internal view returns (RandomNumbersData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(uint64 sequenceNumber) internal view returns (RandomNumbersData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(uint64 sequenceNumber, RngRequestType RequestType, bytes memory arbitraryData) internal {
- bytes memory _staticData = encodeStatic(RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
- bytes memory _dynamicData = encodeDynamic(arbitraryData);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(uint64 sequenceNumber, RngRequestType RequestType, bytes memory arbitraryData) internal {
- bytes memory _staticData = encodeStatic(RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
- bytes memory _dynamicData = encodeDynamic(arbitraryData);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(uint64 sequenceNumber, RandomNumbersData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.arbitraryData);
- bytes memory _dynamicData = encodeDynamic(_table.arbitraryData);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(uint64 sequenceNumber, RandomNumbersData memory _table) internal {
- bytes memory _staticData = encodeStatic(_table.RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(_table.arbitraryData);
- bytes memory _dynamicData = encodeDynamic(_table.arbitraryData);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob) internal pure returns (RngRequestType RequestType) {
- RequestType = RngRequestType(uint8(Bytes.getBytes1(_blob, 0)));
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
- internal
- pure
- returns (bytes memory arbitraryData)
- {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- arbitraryData = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData)
- internal
- pure
- returns (RandomNumbersData memory _table)
- {
- (_table.RequestType) = decodeStatic(_staticData);
-
- (_table.arbitraryData) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(uint64 sequenceNumber) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(uint64 sequenceNumber) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(RngRequestType RequestType) internal pure returns (bytes memory) {
- return abi.encodePacked(RequestType);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(bytes memory arbitraryData) internal pure returns (EncodedLengths _encodedLengths) {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(bytes(arbitraryData).length);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(bytes memory arbitraryData) internal pure returns (bytes memory) {
- return abi.encodePacked(bytes((arbitraryData)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(RngRequestType RequestType, bytes memory arbitraryData)
- internal
- pure
- returns (bytes memory, EncodedLengths, bytes memory)
- {
- bytes memory _staticData = encodeStatic(RequestType);
-
- EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
- bytes memory _dynamicData = encodeDynamic(arbitraryData);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(uint64 sequenceNumber) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(sequenceNumber));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "RandomNumbers", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000052616e646f6d4e756d62657273000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010101000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint64)
+ Schema constant _keySchema = Schema.wrap(0x0008010007000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint8, bytes)
+ Schema constant _valueSchema = Schema.wrap(0x0001010100c40000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "sequenceNumber";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "RequestType";
+ fieldNames[1] = "arbitraryData";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get RequestType.
+ */
+ function getRequestType(uint64 sequenceNumber) internal view returns (RngRequestType RequestType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return RngRequestType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get RequestType.
+ */
+ function _getRequestType(uint64 sequenceNumber) internal view returns (RngRequestType RequestType) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return RngRequestType(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set RequestType.
+ */
+ function setRequestType(uint64 sequenceNumber, RngRequestType RequestType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(RequestType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set RequestType.
+ */
+ function _setRequestType(uint64 sequenceNumber, RngRequestType RequestType) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked(uint8(RequestType)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get arbitraryData.
+ */
+ function getArbitraryData(uint64 sequenceNumber) internal view returns (bytes memory arbitraryData) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Get arbitraryData.
+ */
+ function _getArbitraryData(uint64 sequenceNumber) internal view returns (bytes memory arbitraryData) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (bytes(_blob));
+ }
+
+ /**
+ * @notice Set arbitraryData.
+ */
+ function setArbitraryData(uint64 sequenceNumber, bytes memory arbitraryData) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, bytes((arbitraryData)));
+ }
+
+ /**
+ * @notice Set arbitraryData.
+ */
+ function _setArbitraryData(uint64 sequenceNumber, bytes memory arbitraryData) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, bytes((arbitraryData)));
+ }
+
+ /**
+ * @notice Get the length of arbitraryData.
+ */
+ function lengthArbitraryData(uint64 sequenceNumber) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get the length of arbitraryData.
+ */
+ function _lengthArbitraryData(uint64 sequenceNumber) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 1;
+ }
+ }
+
+ /**
+ * @notice Get an item of arbitraryData.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemArbitraryData(uint64 sequenceNumber, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Get an item of arbitraryData.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemArbitraryData(uint64 sequenceNumber, uint256 _index) internal view returns (bytes memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 1, (_index + 1) * 1);
+ return (bytes(_blob));
+ }
+ }
+
+ /**
+ * @notice Push a slice to arbitraryData.
+ */
+ function pushArbitraryData(uint64 sequenceNumber, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Push a slice to arbitraryData.
+ */
+ function _pushArbitraryData(uint64 sequenceNumber, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, bytes((_slice)));
+ }
+
+ /**
+ * @notice Pop a slice from arbitraryData.
+ */
+ function popArbitraryData(uint64 sequenceNumber) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Pop a slice from arbitraryData.
+ */
+ function _popArbitraryData(uint64 sequenceNumber) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 1);
+ }
+
+ /**
+ * @notice Update a slice of arbitraryData at `_index`.
+ */
+ function updateArbitraryData(uint64 sequenceNumber, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update a slice of arbitraryData at `_index`.
+ */
+ function _updateArbitraryData(uint64 sequenceNumber, uint256 _index, bytes memory _slice) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ unchecked {
+ bytes memory _encoded = bytes((_slice));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 1), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(uint64 sequenceNumber) internal view returns (RandomNumbersData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(uint64 sequenceNumber) internal view returns (RandomNumbersData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(uint64 sequenceNumber, RngRequestType RequestType, bytes memory arbitraryData) internal {
+ bytes memory _staticData = encodeStatic(RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(arbitraryData);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(uint64 sequenceNumber, RngRequestType RequestType, bytes memory arbitraryData) internal {
+ bytes memory _staticData = encodeStatic(RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(arbitraryData);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(uint64 sequenceNumber, RandomNumbersData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(_table.arbitraryData);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(uint64 sequenceNumber, RandomNumbersData memory _table) internal {
+ bytes memory _staticData = encodeStatic(_table.RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(_table.arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(_table.arbitraryData);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(bytes memory _blob) internal pure returns (RngRequestType RequestType) {
+ RequestType = RngRequestType(uint8(Bytes.getBytes1(_blob, 0)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(
+ EncodedLengths _encodedLengths,
+ bytes memory _blob
+ ) internal pure returns (bytes memory arbitraryData) {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ arbitraryData = (bytes(SliceLib.getSubslice(_blob, _start, _end).toBytes()));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths _encodedLengths,
+ bytes memory _dynamicData
+ ) internal pure returns (RandomNumbersData memory _table) {
+ (_table.RequestType) = decodeStatic(_staticData);
+
+ (_table.arbitraryData) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(uint64 sequenceNumber) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(uint64 sequenceNumber) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(RngRequestType RequestType) internal pure returns (bytes memory) {
+ return abi.encodePacked(RequestType);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(bytes memory arbitraryData) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(bytes(arbitraryData).length);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(bytes memory arbitraryData) internal pure returns (bytes memory) {
+ return abi.encodePacked(bytes((arbitraryData)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ RngRequestType RequestType,
+ bytes memory arbitraryData
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(RequestType);
+
+ EncodedLengths _encodedLengths = encodeLengths(arbitraryData);
+ bytes memory _dynamicData = encodeDynamic(arbitraryData);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(uint64 sequenceNumber) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(sequenceNumber));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Spawned.sol b/packages/contracts/src/codegen/tables/Spawned.sol
index 96be9ded0..0c6ba659f 100644
--- a/packages/contracts/src/codegen/tables/Spawned.sol
+++ b/packages/contracts/src/codegen/tables/Spawned.sol
@@ -4,198 +4,198 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
library Spawned {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Spawned", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000537061776e6564000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool)
- Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "entityId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](1);
- fieldNames[0] = "spawned";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get spawned.
- */
- function getSpawned(bytes32 entityId) internal view returns (bool spawned) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get spawned.
- */
- function _getSpawned(bytes32 entityId) internal view returns (bool spawned) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get spawned.
- */
- function get(bytes32 entityId) internal view returns (bool spawned) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get spawned.
- */
- function _get(bytes32 entityId) internal view returns (bool spawned) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set spawned.
- */
- function setSpawned(bytes32 entityId, bool spawned) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
- }
-
- /**
- * @notice Set spawned.
- */
- function _setSpawned(bytes32 entityId, bool spawned) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
- }
-
- /**
- * @notice Set spawned.
- */
- function set(bytes32 entityId, bool spawned) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
- }
-
- /**
- * @notice Set spawned.
- */
- function _set(bytes32 entityId, bool spawned) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(bool spawned) internal pure returns (bytes memory) {
- return abi.encodePacked(spawned);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(bool spawned) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(spawned);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Spawned", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000537061776e6564000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0001010001000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool)
+ Schema constant _valueSchema = Schema.wrap(0x0001010060000000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "entityId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](1);
+ fieldNames[0] = "spawned";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get spawned.
+ */
+ function getSpawned(bytes32 entityId) internal view returns (bool spawned) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get spawned.
+ */
+ function _getSpawned(bytes32 entityId) internal view returns (bool spawned) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get spawned.
+ */
+ function get(bytes32 entityId) internal view returns (bool spawned) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get spawned.
+ */
+ function _get(bytes32 entityId) internal view returns (bool spawned) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set spawned.
+ */
+ function setSpawned(bytes32 entityId, bool spawned) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set spawned.
+ */
+ function _setSpawned(bytes32 entityId, bool spawned) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set spawned.
+ */
+ function set(bytes32 entityId, bool spawned) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set spawned.
+ */
+ function _set(bytes32 entityId, bool spawned) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((spawned)), _fieldLayout);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(bool spawned) internal pure returns (bytes memory) {
+ return abi.encodePacked(spawned);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(bool spawned) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(spawned);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ return _keyTuple;
+ }
}
/**
@@ -205,7 +205,7 @@ library Spawned {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/tables/StarterItems.sol b/packages/contracts/src/codegen/tables/StarterItems.sol
index 5f74bfd11..7bb79c000 100644
--- a/packages/contracts/src/codegen/tables/StarterItems.sol
+++ b/packages/contracts/src/codegen/tables/StarterItems.sol
@@ -4,585 +4,582 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import {Classes} from "./../common.sol";
+import { Classes } from "./../common.sol";
struct StarterItemsData {
- uint256[] itemIds;
- uint256[] amounts;
+ uint256[] itemIds;
+ uint256[] amounts;
}
library StarterItems {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "StarterItems", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000537461727465724974656d7300000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0000000200000000000000000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (uint8)
- Schema constant _keySchema = Schema.wrap(0x0001010000000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256[], uint256[])
- Schema constant _valueSchema = Schema.wrap(0x0000000281810000000000000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "class";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](2);
- fieldNames[0] = "itemIds";
- fieldNames[1] = "amounts";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get itemIds.
- */
- function getItemIds(Classes class) internal view returns (uint256[] memory itemIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get itemIds.
- */
- function _getItemIds(Classes class) internal view returns (uint256[] memory itemIds) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set itemIds.
- */
- function setItemIds(Classes class, uint256[] memory itemIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((itemIds)));
- }
-
- /**
- * @notice Set itemIds.
- */
- function _setItemIds(Classes class, uint256[] memory itemIds) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((itemIds)));
- }
-
- /**
- * @notice Get the length of itemIds.
- */
- function lengthItemIds(Classes class) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of itemIds.
- */
- function _lengthItemIds(Classes class) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of itemIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemItemIds(Classes class, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of itemIds.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemItemIds(Classes class, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to itemIds.
- */
- function pushItemIds(Classes class, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to itemIds.
- */
- function _pushItemIds(Classes class, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from itemIds.
- */
- function popItemIds(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Pop an element from itemIds.
- */
- function _popItemIds(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
- }
-
- /**
- * @notice Update an element of itemIds at `_index`.
- */
- function updateItemIds(Classes class, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of itemIds at `_index`.
- */
- function _updateItemIds(Classes class, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get amounts.
- */
- function getAmounts(Classes class) internal view returns (uint256[] memory amounts) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Get amounts.
- */
- function _getAmounts(Classes class) internal view returns (uint256[] memory amounts) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
- return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
- }
-
- /**
- * @notice Set amounts.
- */
- function setAmounts(Classes class, uint256[] memory amounts) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((amounts)));
- }
-
- /**
- * @notice Set amounts.
- */
- function _setAmounts(Classes class, uint256[] memory amounts) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((amounts)));
- }
-
- /**
- * @notice Get the length of amounts.
- */
- function lengthAmounts(Classes class) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get the length of amounts.
- */
- function _lengthAmounts(Classes class) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
- unchecked {
- return _byteLength / 32;
- }
- }
-
- /**
- * @notice Get an item of amounts.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function getItemAmounts(Classes class, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _blob =
- StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Get an item of amounts.
- * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
- */
- function _getItemAmounts(Classes class, uint256 _index) internal view returns (uint256) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
- return (uint256(bytes32(_blob)));
- }
- }
-
- /**
- * @notice Push an element to amounts.
- */
- function pushAmounts(Classes class, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Push an element to amounts.
- */
- function _pushAmounts(Classes class, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
- }
-
- /**
- * @notice Pop an element from amounts.
- */
- function popAmounts(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Pop an element from amounts.
- */
- function _popAmounts(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
- }
-
- /**
- * @notice Update an element of amounts at `_index`.
- */
- function updateAmounts(Classes class, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreSwitch.spliceDynamicData(
- _tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded
- );
- }
- }
-
- /**
- * @notice Update an element of amounts at `_index`.
- */
- function _updateAmounts(Classes class, uint256 _index, uint256 _element) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- unchecked {
- bytes memory _encoded = abi.encodePacked((_element));
- StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
- }
- }
-
- /**
- * @notice Get the full data.
- */
- function get(Classes class) internal view returns (StarterItemsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(Classes class) internal view returns (StarterItemsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(Classes class, uint256[] memory itemIds, uint256[] memory amounts) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
- bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(Classes class, uint256[] memory itemIds, uint256[] memory amounts) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
- bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(Classes class, StarterItemsData memory _table) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(_table.itemIds, _table.amounts);
- bytes memory _dynamicData = encodeDynamic(_table.itemIds, _table.amounts);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(Classes class, StarterItemsData memory _table) internal {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(_table.itemIds, _table.amounts);
- bytes memory _dynamicData = encodeDynamic(_table.itemIds, _table.amounts);
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
- */
- function decodeDynamic(EncodedLengths _encodedLengths, bytes memory _blob)
- internal
- pure
- returns (uint256[] memory itemIds, uint256[] memory amounts)
- {
- uint256 _start;
- uint256 _end;
- unchecked {
- _end = _encodedLengths.atIndex(0);
- }
- itemIds = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
-
- _start = _end;
- unchecked {
- _end += _encodedLengths.atIndex(1);
- }
- amounts = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- *
- * @param _encodedLengths Encoded lengths of dynamic fields.
- * @param _dynamicData Tightly packed dynamic fields.
- */
- function decode(bytes memory, EncodedLengths _encodedLengths, bytes memory _dynamicData)
- internal
- pure
- returns (StarterItemsData memory _table)
- {
- (_table.itemIds, _table.amounts) = decodeDynamic(_encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack dynamic data lengths using this table's schema.
- * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
- */
- function encodeLengths(uint256[] memory itemIds, uint256[] memory amounts)
- internal
- pure
- returns (EncodedLengths _encodedLengths)
- {
- // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
- unchecked {
- _encodedLengths = EncodedLengthsLib.pack(itemIds.length * 32, amounts.length * 32);
- }
- }
-
- /**
- * @notice Tightly pack dynamic (variable length) data using this table's schema.
- * @return The dynamic data, encoded into a sequence of bytes.
- */
- function encodeDynamic(uint256[] memory itemIds, uint256[] memory amounts) internal pure returns (bytes memory) {
- return abi.encodePacked(EncodeArray.encode((itemIds)), EncodeArray.encode((amounts)));
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(uint256[] memory itemIds, uint256[] memory amounts)
- internal
- pure
- returns (bytes memory, EncodedLengths, bytes memory)
- {
- bytes memory _staticData;
- EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
- bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(Classes class) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = bytes32(uint256(uint8(class)));
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "StarterItems", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000537461727465724974656d7300000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0000000200000000000000000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (uint8)
+ Schema constant _keySchema = Schema.wrap(0x0001010000000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256[], uint256[])
+ Schema constant _valueSchema = Schema.wrap(0x0000000281810000000000000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "class";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](2);
+ fieldNames[0] = "itemIds";
+ fieldNames[1] = "amounts";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get itemIds.
+ */
+ function getItemIds(Classes class) internal view returns (uint256[] memory itemIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get itemIds.
+ */
+ function _getItemIds(Classes class) internal view returns (uint256[] memory itemIds) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 0);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set itemIds.
+ */
+ function setItemIds(Classes class, uint256[] memory itemIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((itemIds)));
+ }
+
+ /**
+ * @notice Set itemIds.
+ */
+ function _setItemIds(Classes class, uint256[] memory itemIds) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 0, EncodeArray.encode((itemIds)));
+ }
+
+ /**
+ * @notice Get the length of itemIds.
+ */
+ function lengthItemIds(Classes class) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of itemIds.
+ */
+ function _lengthItemIds(Classes class) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 0);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of itemIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemItemIds(Classes class, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of itemIds.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemItemIds(Classes class, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 0, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to itemIds.
+ */
+ function pushItemIds(Classes class, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to itemIds.
+ */
+ function _pushItemIds(Classes class, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 0, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from itemIds.
+ */
+ function popItemIds(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Pop an element from itemIds.
+ */
+ function _popItemIds(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 0, 32);
+ }
+
+ /**
+ * @notice Update an element of itemIds at `_index`.
+ */
+ function updateItemIds(Classes class, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of itemIds at `_index`.
+ */
+ function _updateItemIds(Classes class, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 0, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get amounts.
+ */
+ function getAmounts(Classes class) internal view returns (uint256[] memory amounts) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ bytes memory _blob = StoreSwitch.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Get amounts.
+ */
+ function _getAmounts(Classes class) internal view returns (uint256[] memory amounts) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ bytes memory _blob = StoreCore.getDynamicField(_tableId, _keyTuple, 1);
+ return (SliceLib.getSubslice(_blob, 0, _blob.length).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Set amounts.
+ */
+ function setAmounts(Classes class, uint256[] memory amounts) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((amounts)));
+ }
+
+ /**
+ * @notice Set amounts.
+ */
+ function _setAmounts(Classes class, uint256[] memory amounts) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.setDynamicField(_tableId, _keyTuple, 1, EncodeArray.encode((amounts)));
+ }
+
+ /**
+ * @notice Get the length of amounts.
+ */
+ function lengthAmounts(Classes class) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ uint256 _byteLength = StoreSwitch.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get the length of amounts.
+ */
+ function _lengthAmounts(Classes class) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ uint256 _byteLength = StoreCore.getDynamicFieldLength(_tableId, _keyTuple, 1);
+ unchecked {
+ return _byteLength / 32;
+ }
+ }
+
+ /**
+ * @notice Get an item of amounts.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function getItemAmounts(Classes class, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _blob = StoreSwitch.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Get an item of amounts.
+ * @dev Reverts with Store_IndexOutOfBounds if `_index` is out of bounds for the array.
+ */
+ function _getItemAmounts(Classes class, uint256 _index) internal view returns (uint256) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _blob = StoreCore.getDynamicFieldSlice(_tableId, _keyTuple, 1, _index * 32, (_index + 1) * 32);
+ return (uint256(bytes32(_blob)));
+ }
+ }
+
+ /**
+ * @notice Push an element to amounts.
+ */
+ function pushAmounts(Classes class, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Push an element to amounts.
+ */
+ function _pushAmounts(Classes class, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.pushToDynamicField(_tableId, _keyTuple, 1, abi.encodePacked((_element)));
+ }
+
+ /**
+ * @notice Pop an element from amounts.
+ */
+ function popAmounts(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Pop an element from amounts.
+ */
+ function _popAmounts(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.popFromDynamicField(_tableId, _keyTuple, 1, 32);
+ }
+
+ /**
+ * @notice Update an element of amounts at `_index`.
+ */
+ function updateAmounts(Classes class, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreSwitch.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Update an element of amounts at `_index`.
+ */
+ function _updateAmounts(Classes class, uint256 _index, uint256 _element) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ unchecked {
+ bytes memory _encoded = abi.encodePacked((_element));
+ StoreCore.spliceDynamicData(_tableId, _keyTuple, 1, uint40(_index * 32), uint40(_encoded.length), _encoded);
+ }
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(Classes class) internal view returns (StarterItemsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(Classes class) internal view returns (StarterItemsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(Classes class, uint256[] memory itemIds, uint256[] memory amounts) internal {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
+ bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(Classes class, uint256[] memory itemIds, uint256[] memory amounts) internal {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
+ bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(Classes class, StarterItemsData memory _table) internal {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(_table.itemIds, _table.amounts);
+ bytes memory _dynamicData = encodeDynamic(_table.itemIds, _table.amounts);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(Classes class, StarterItemsData memory _table) internal {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(_table.itemIds, _table.amounts);
+ bytes memory _dynamicData = encodeDynamic(_table.itemIds, _table.amounts);
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of dynamic data using the encoded lengths.
+ */
+ function decodeDynamic(
+ EncodedLengths _encodedLengths,
+ bytes memory _blob
+ ) internal pure returns (uint256[] memory itemIds, uint256[] memory amounts) {
+ uint256 _start;
+ uint256 _end;
+ unchecked {
+ _end = _encodedLengths.atIndex(0);
+ }
+ itemIds = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+
+ _start = _end;
+ unchecked {
+ _end += _encodedLengths.atIndex(1);
+ }
+ amounts = (SliceLib.getSubslice(_blob, _start, _end).decodeArray_uint256());
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ *
+ * @param _encodedLengths Encoded lengths of dynamic fields.
+ * @param _dynamicData Tightly packed dynamic fields.
+ */
+ function decode(
+ bytes memory,
+ EncodedLengths _encodedLengths,
+ bytes memory _dynamicData
+ ) internal pure returns (StarterItemsData memory _table) {
+ (_table.itemIds, _table.amounts) = decodeDynamic(_encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack dynamic data lengths using this table's schema.
+ * @return _encodedLengths The lengths of the dynamic fields (packed into a single bytes32 value).
+ */
+ function encodeLengths(
+ uint256[] memory itemIds,
+ uint256[] memory amounts
+ ) internal pure returns (EncodedLengths _encodedLengths) {
+ // Lengths are effectively checked during copy by 2**40 bytes exceeding gas limits
+ unchecked {
+ _encodedLengths = EncodedLengthsLib.pack(itemIds.length * 32, amounts.length * 32);
+ }
+ }
+
+ /**
+ * @notice Tightly pack dynamic (variable length) data using this table's schema.
+ * @return The dynamic data, encoded into a sequence of bytes.
+ */
+ function encodeDynamic(uint256[] memory itemIds, uint256[] memory amounts) internal pure returns (bytes memory) {
+ return abi.encodePacked(EncodeArray.encode((itemIds)), EncodeArray.encode((amounts)));
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ uint256[] memory itemIds,
+ uint256[] memory amounts
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData;
+ EncodedLengths _encodedLengths = encodeLengths(itemIds, amounts);
+ bytes memory _dynamicData = encodeDynamic(itemIds, amounts);
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(Classes class) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = bytes32(uint256(uint8(class)));
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/Stats.sol b/packages/contracts/src/codegen/tables/Stats.sol
index 73e73c2f1..56842ab5e 100644
--- a/packages/contracts/src/codegen/tables/Stats.sol
+++ b/packages/contracts/src/codegen/tables/Stats.sol
@@ -4,669 +4,701 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
// Import user types
-import {Classes} from "./../common.sol";
+import { Classes } from "./../common.sol";
struct StatsData {
- uint256 strength;
- uint256 agility;
- Classes class;
- uint256 intelligence;
- uint256 baseHitPoints;
- int256 currentHp;
- uint256 experience;
- uint256 level;
+ uint256 strength;
+ uint256 agility;
+ Classes class;
+ uint256 intelligence;
+ uint256 baseHitPoints;
+ int256 currentHp;
+ uint256 experience;
+ uint256 level;
}
library Stats {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Stats", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000053746174730000000000000000000000);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x00e1080020200120202020200000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of (bytes32)
- Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (uint256, uint256, uint8, uint256, uint256, int256, uint256, uint256)
- Schema constant _valueSchema = Schema.wrap(0x00e108001f1f001f1f3f1f1f0000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](1);
- keyNames[0] = "entityId";
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](8);
- fieldNames[0] = "strength";
- fieldNames[1] = "agility";
- fieldNames[2] = "class";
- fieldNames[3] = "intelligence";
- fieldNames[4] = "baseHitPoints";
- fieldNames[5] = "currentHp";
- fieldNames[6] = "experience";
- fieldNames[7] = "level";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get strength.
- */
- function getStrength(bytes32 entityId) internal view returns (uint256 strength) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get strength.
- */
- function _getStrength(bytes32 entityId) internal view returns (uint256 strength) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set strength.
- */
- function setStrength(bytes32 entityId, uint256 strength) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
- }
-
- /**
- * @notice Set strength.
- */
- function _setStrength(bytes32 entityId, uint256 strength) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
- }
-
- /**
- * @notice Get agility.
- */
- function getAgility(bytes32 entityId) internal view returns (uint256 agility) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get agility.
- */
- function _getAgility(bytes32 entityId) internal view returns (uint256 agility) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set agility.
- */
- function setAgility(bytes32 entityId, uint256 agility) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
- }
-
- /**
- * @notice Set agility.
- */
- function _setAgility(bytes32 entityId, uint256 agility) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
- }
-
- /**
- * @notice Get class.
- */
- function getClass(bytes32 entityId) internal view returns (Classes class) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return Classes(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Get class.
- */
- function _getClass(bytes32 entityId) internal view returns (Classes class) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return Classes(uint8(bytes1(_blob)));
- }
-
- /**
- * @notice Set class.
- */
- function setClass(bytes32 entityId, Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked(uint8(class)), _fieldLayout);
- }
-
- /**
- * @notice Set class.
- */
- function _setClass(bytes32 entityId, Classes class) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked(uint8(class)), _fieldLayout);
- }
-
- /**
- * @notice Get intelligence.
- */
- function getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get intelligence.
- */
- function _getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set intelligence.
- */
- function setIntelligence(bytes32 entityId, uint256 intelligence) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((intelligence)), _fieldLayout);
- }
-
- /**
- * @notice Set intelligence.
- */
- function _setIntelligence(bytes32 entityId, uint256 intelligence) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((intelligence)), _fieldLayout);
- }
-
- /**
- * @notice Get baseHitPoints.
- */
- function getBaseHitPoints(bytes32 entityId) internal view returns (uint256 baseHitPoints) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get baseHitPoints.
- */
- function _getBaseHitPoints(bytes32 entityId) internal view returns (uint256 baseHitPoints) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set baseHitPoints.
- */
- function setBaseHitPoints(bytes32 entityId, uint256 baseHitPoints) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((baseHitPoints)), _fieldLayout);
- }
-
- /**
- * @notice Set baseHitPoints.
- */
- function _setBaseHitPoints(bytes32 entityId, uint256 baseHitPoints) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((baseHitPoints)), _fieldLayout);
- }
-
- /**
- * @notice Get currentHp.
- */
- function getCurrentHp(bytes32 entityId) internal view returns (int256 currentHp) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Get currentHp.
- */
- function _getCurrentHp(bytes32 entityId) internal view returns (int256 currentHp) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (int256(uint256(bytes32(_blob))));
- }
-
- /**
- * @notice Set currentHp.
- */
- function setCurrentHp(bytes32 entityId, int256 currentHp) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((currentHp)), _fieldLayout);
- }
-
- /**
- * @notice Set currentHp.
- */
- function _setCurrentHp(bytes32 entityId, int256 currentHp) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((currentHp)), _fieldLayout);
- }
-
- /**
- * @notice Get experience.
- */
- function getExperience(bytes32 entityId) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get experience.
- */
- function _getExperience(bytes32 entityId) internal view returns (uint256 experience) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set experience.
- */
- function setExperience(bytes32 entityId, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Set experience.
- */
- function _setExperience(bytes32 entityId, uint256 experience) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((experience)), _fieldLayout);
- }
-
- /**
- * @notice Get level.
- */
- function getLevel(bytes32 entityId) internal view returns (uint256 level) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Get level.
- */
- function _getLevel(bytes32 entityId) internal view returns (uint256 level) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
- return (uint256(bytes32(_blob)));
- }
-
- /**
- * @notice Set level.
- */
- function setLevel(bytes32 entityId, uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((level)), _fieldLayout);
- }
-
- /**
- * @notice Set level.
- */
- function _setLevel(bytes32 entityId, uint256 level) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((level)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get(bytes32 entityId) internal view returns (StatsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get(bytes32 entityId) internal view returns (StatsData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bytes32 entityId,
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- ) internal {
- bytes memory _staticData =
- encodeStatic(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bytes32 entityId,
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- ) internal {
- bytes memory _staticData =
- encodeStatic(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(bytes32 entityId, StatsData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strength,
- _table.agility,
- _table.class,
- _table.intelligence,
- _table.baseHitPoints,
- _table.currentHp,
- _table.experience,
- _table.level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(bytes32 entityId, StatsData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.strength,
- _table.agility,
- _table.class,
- _table.intelligence,
- _table.baseHitPoints,
- _table.currentHp,
- _table.experience,
- _table.level
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob)
- internal
- pure
- returns (
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- )
- {
- strength = (uint256(Bytes.getBytes32(_blob, 0)));
-
- agility = (uint256(Bytes.getBytes32(_blob, 32)));
-
- class = Classes(uint8(Bytes.getBytes1(_blob, 64)));
-
- intelligence = (uint256(Bytes.getBytes32(_blob, 65)));
-
- baseHitPoints = (uint256(Bytes.getBytes32(_blob, 97)));
-
- currentHp = (int256(uint256(Bytes.getBytes32(_blob, 129))));
-
- experience = (uint256(Bytes.getBytes32(_blob, 161)));
-
- level = (uint256(Bytes.getBytes32(_blob, 193)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(bytes memory _staticData, EncodedLengths, bytes memory)
- internal
- pure
- returns (StatsData memory _table)
- {
- (
- _table.strength,
- _table.agility,
- _table.class,
- _table.intelligence,
- _table.baseHitPoints,
- _table.currentHp,
- _table.experience,
- _table.level
- ) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord(bytes32 entityId) internal {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- uint256 strength,
- uint256 agility,
- Classes class,
- uint256 intelligence,
- uint256 baseHitPoints,
- int256 currentHp,
- uint256 experience,
- uint256 level
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData =
- encodeStatic(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](1);
- _keyTuple[0] = entityId;
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "Stats", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x7462554400000000000000000000000053746174730000000000000000000000);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x00e1080020200120202020200000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of (bytes32)
+ Schema constant _keySchema = Schema.wrap(0x002001005f000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (uint256, uint256, uint8, uint256, uint256, int256, uint256, uint256)
+ Schema constant _valueSchema = Schema.wrap(0x00e108001f1f001f1f3f1f1f0000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](1);
+ keyNames[0] = "entityId";
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](8);
+ fieldNames[0] = "strength";
+ fieldNames[1] = "agility";
+ fieldNames[2] = "class";
+ fieldNames[3] = "intelligence";
+ fieldNames[4] = "baseHitPoints";
+ fieldNames[5] = "currentHp";
+ fieldNames[6] = "experience";
+ fieldNames[7] = "level";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get strength.
+ */
+ function getStrength(bytes32 entityId) internal view returns (uint256 strength) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get strength.
+ */
+ function _getStrength(bytes32 entityId) internal view returns (uint256 strength) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set strength.
+ */
+ function setStrength(bytes32 entityId, uint256 strength) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set strength.
+ */
+ function _setStrength(bytes32 entityId, uint256 strength) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((strength)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get agility.
+ */
+ function getAgility(bytes32 entityId) internal view returns (uint256 agility) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get agility.
+ */
+ function _getAgility(bytes32 entityId) internal view returns (uint256 agility) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set agility.
+ */
+ function setAgility(bytes32 entityId, uint256 agility) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set agility.
+ */
+ function _setAgility(bytes32 entityId, uint256 agility) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((agility)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get class.
+ */
+ function getClass(bytes32 entityId) internal view returns (Classes class) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return Classes(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Get class.
+ */
+ function _getClass(bytes32 entityId) internal view returns (Classes class) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return Classes(uint8(bytes1(_blob)));
+ }
+
+ /**
+ * @notice Set class.
+ */
+ function setClass(bytes32 entityId, Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked(uint8(class)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set class.
+ */
+ function _setClass(bytes32 entityId, Classes class) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked(uint8(class)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get intelligence.
+ */
+ function getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get intelligence.
+ */
+ function _getIntelligence(bytes32 entityId) internal view returns (uint256 intelligence) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set intelligence.
+ */
+ function setIntelligence(bytes32 entityId, uint256 intelligence) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((intelligence)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set intelligence.
+ */
+ function _setIntelligence(bytes32 entityId, uint256 intelligence) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((intelligence)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get baseHitPoints.
+ */
+ function getBaseHitPoints(bytes32 entityId) internal view returns (uint256 baseHitPoints) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get baseHitPoints.
+ */
+ function _getBaseHitPoints(bytes32 entityId) internal view returns (uint256 baseHitPoints) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set baseHitPoints.
+ */
+ function setBaseHitPoints(bytes32 entityId, uint256 baseHitPoints) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((baseHitPoints)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set baseHitPoints.
+ */
+ function _setBaseHitPoints(bytes32 entityId, uint256 baseHitPoints) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((baseHitPoints)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get currentHp.
+ */
+ function getCurrentHp(bytes32 entityId) internal view returns (int256 currentHp) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Get currentHp.
+ */
+ function _getCurrentHp(bytes32 entityId) internal view returns (int256 currentHp) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (int256(uint256(bytes32(_blob))));
+ }
+
+ /**
+ * @notice Set currentHp.
+ */
+ function setCurrentHp(bytes32 entityId, int256 currentHp) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((currentHp)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set currentHp.
+ */
+ function _setCurrentHp(bytes32 entityId, int256 currentHp) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((currentHp)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function getExperience(bytes32 entityId) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get experience.
+ */
+ function _getExperience(bytes32 entityId) internal view returns (uint256 experience) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function setExperience(bytes32 entityId, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set experience.
+ */
+ function _setExperience(bytes32 entityId, uint256 experience) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((experience)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get level.
+ */
+ function getLevel(bytes32 entityId) internal view returns (uint256 level) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Get level.
+ */
+ function _getLevel(bytes32 entityId) internal view returns (uint256 level) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 7, _fieldLayout);
+ return (uint256(bytes32(_blob)));
+ }
+
+ /**
+ * @notice Set level.
+ */
+ function setLevel(bytes32 entityId, uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((level)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set level.
+ */
+ function _setLevel(bytes32 entityId, uint256 level) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 7, abi.encodePacked((level)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get(bytes32 entityId) internal view returns (StatsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get(bytes32 entityId) internal view returns (StatsData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bytes32 entityId,
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ ) internal {
+ bytes memory _staticData = encodeStatic(
+ strength,
+ agility,
+ class,
+ intelligence,
+ baseHitPoints,
+ currentHp,
+ experience,
+ level
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bytes32 entityId,
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ ) internal {
+ bytes memory _staticData = encodeStatic(
+ strength,
+ agility,
+ class,
+ intelligence,
+ baseHitPoints,
+ currentHp,
+ experience,
+ level
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(bytes32 entityId, StatsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.strength,
+ _table.agility,
+ _table.class,
+ _table.intelligence,
+ _table.baseHitPoints,
+ _table.currentHp,
+ _table.experience,
+ _table.level
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(bytes32 entityId, StatsData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.strength,
+ _table.agility,
+ _table.class,
+ _table.intelligence,
+ _table.baseHitPoints,
+ _table.currentHp,
+ _table.experience,
+ _table.level
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(
+ bytes memory _blob
+ )
+ internal
+ pure
+ returns (
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ )
+ {
+ strength = (uint256(Bytes.getBytes32(_blob, 0)));
+
+ agility = (uint256(Bytes.getBytes32(_blob, 32)));
+
+ class = Classes(uint8(Bytes.getBytes1(_blob, 64)));
+
+ intelligence = (uint256(Bytes.getBytes32(_blob, 65)));
+
+ baseHitPoints = (uint256(Bytes.getBytes32(_blob, 97)));
+
+ currentHp = (int256(uint256(Bytes.getBytes32(_blob, 129))));
+
+ experience = (uint256(Bytes.getBytes32(_blob, 161)));
+
+ level = (uint256(Bytes.getBytes32(_blob, 193)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths,
+ bytes memory
+ ) internal pure returns (StatsData memory _table) {
+ (
+ _table.strength,
+ _table.agility,
+ _table.class,
+ _table.intelligence,
+ _table.baseHitPoints,
+ _table.currentHp,
+ _table.experience,
+ _table.level
+ ) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord(bytes32 entityId) internal {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(strength, agility, class, intelligence, baseHitPoints, currentHp, experience, level);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ uint256 strength,
+ uint256 agility,
+ Classes class,
+ uint256 intelligence,
+ uint256 baseHitPoints,
+ int256 currentHp,
+ uint256 experience,
+ uint256 level
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(
+ strength,
+ agility,
+ class,
+ intelligence,
+ baseHitPoints,
+ currentHp,
+ experience,
+ level
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple(bytes32 entityId) internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](1);
+ _keyTuple[0] = entityId;
+
+ return _keyTuple;
+ }
}
diff --git a/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol b/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
index 5fa398025..e9c793b22 100644
--- a/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
+++ b/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
@@ -4,574 +4,579 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
// Import store internals
-import {IStore} from "@latticexyz/store/src/IStore.sol";
-import {StoreSwitch} from "@latticexyz/store/src/StoreSwitch.sol";
-import {StoreCore} from "@latticexyz/store/src/StoreCore.sol";
-import {Bytes} from "@latticexyz/store/src/Bytes.sol";
-import {Memory} from "@latticexyz/store/src/Memory.sol";
-import {SliceLib} from "@latticexyz/store/src/Slice.sol";
-import {EncodeArray} from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
-import {FieldLayout} from "@latticexyz/store/src/FieldLayout.sol";
-import {Schema} from "@latticexyz/store/src/Schema.sol";
-import {EncodedLengths, EncodedLengthsLib} from "@latticexyz/store/src/EncodedLengths.sol";
-import {ResourceId} from "@latticexyz/store/src/ResourceId.sol";
+import { IStore } from "@latticexyz/store/src/IStore.sol";
+import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol";
+import { StoreCore } from "@latticexyz/store/src/StoreCore.sol";
+import { Bytes } from "@latticexyz/store/src/Bytes.sol";
+import { Memory } from "@latticexyz/store/src/Memory.sol";
+import { SliceLib } from "@latticexyz/store/src/Slice.sol";
+import { EncodeArray } from "@latticexyz/store/src/tightcoder/EncodeArray.sol";
+import { FieldLayout } from "@latticexyz/store/src/FieldLayout.sol";
+import { Schema } from "@latticexyz/store/src/Schema.sol";
+import { EncodedLengths, EncodedLengthsLib } from "@latticexyz/store/src/EncodedLengths.sol";
+import { ResourceId } from "@latticexyz/store/src/ResourceId.sol";
struct UltimateDominionConfigData {
- bool locked;
- address goldToken;
- address characterToken;
- address entropy;
- address pythProvider;
- address items;
- address multicall;
+ bool locked;
+ address goldToken;
+ address characterToken;
+ address entropy;
+ address pythProvider;
+ address items;
+ address multicall;
}
library UltimateDominionConfig {
- // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "UltimateDominion", typeId: RESOURCE_TABLE });`
- ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000556c74696d617465446f6d696e696f6e);
-
- FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0079070001141414141414000000000000000000000000000000000000000000);
-
- // Hex-encoded key schema of ()
- Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool, address, address, address, address, address, address)
- Schema constant _valueSchema = Schema.wrap(0x0079070060616161616161000000000000000000000000000000000000000000);
-
- /**
- * @notice Get the table's key field names.
- * @return keyNames An array of strings with the names of key fields.
- */
- function getKeyNames() internal pure returns (string[] memory keyNames) {
- keyNames = new string[](0);
- }
-
- /**
- * @notice Get the table's value field names.
- * @return fieldNames An array of strings with the names of value fields.
- */
- function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](7);
- fieldNames[0] = "locked";
- fieldNames[1] = "goldToken";
- fieldNames[2] = "characterToken";
- fieldNames[3] = "entropy";
- fieldNames[4] = "pythProvider";
- fieldNames[5] = "items";
- fieldNames[6] = "multicall";
- }
-
- /**
- * @notice Register the table with its config.
- */
- function register() internal {
- StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Register the table with its config.
- */
- function _register() internal {
- StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
- }
-
- /**
- * @notice Get locked.
- */
- function getLocked() internal view returns (bool locked) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Get locked.
- */
- function _getLocked() internal view returns (bool locked) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
- return (_toBool(uint8(bytes1(_blob))));
- }
-
- /**
- * @notice Set locked.
- */
- function setLocked(bool locked) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((locked)), _fieldLayout);
- }
-
- /**
- * @notice Set locked.
- */
- function _setLocked(bool locked) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((locked)), _fieldLayout);
- }
-
- /**
- * @notice Get goldToken.
- */
- function getGoldToken() internal view returns (address goldToken) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get goldToken.
- */
- function _getGoldToken() internal view returns (address goldToken) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set goldToken.
- */
- function setGoldToken(address goldToken) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((goldToken)), _fieldLayout);
- }
-
- /**
- * @notice Set goldToken.
- */
- function _setGoldToken(address goldToken) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((goldToken)), _fieldLayout);
- }
-
- /**
- * @notice Get characterToken.
- */
- function getCharacterToken() internal view returns (address characterToken) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get characterToken.
- */
- function _getCharacterToken() internal view returns (address characterToken) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set characterToken.
- */
- function setCharacterToken(address characterToken) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((characterToken)), _fieldLayout);
- }
-
- /**
- * @notice Set characterToken.
- */
- function _setCharacterToken(address characterToken) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((characterToken)), _fieldLayout);
- }
-
- /**
- * @notice Get entropy.
- */
- function getEntropy() internal view returns (address entropy) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get entropy.
- */
- function _getEntropy() internal view returns (address entropy) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set entropy.
- */
- function setEntropy(address entropy) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((entropy)), _fieldLayout);
- }
-
- /**
- * @notice Set entropy.
- */
- function _setEntropy(address entropy) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((entropy)), _fieldLayout);
- }
-
- /**
- * @notice Get pythProvider.
- */
- function getPythProvider() internal view returns (address pythProvider) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get pythProvider.
- */
- function _getPythProvider() internal view returns (address pythProvider) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set pythProvider.
- */
- function setPythProvider(address pythProvider) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((pythProvider)), _fieldLayout);
- }
-
- /**
- * @notice Set pythProvider.
- */
- function _setPythProvider(address pythProvider) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((pythProvider)), _fieldLayout);
- }
-
- /**
- * @notice Get items.
- */
- function getItems() internal view returns (address items) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get items.
- */
- function _getItems() internal view returns (address items) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set items.
- */
- function setItems(address items) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
- }
-
- /**
- * @notice Set items.
- */
- function _setItems(address items) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
- }
-
- /**
- * @notice Get multicall.
- */
- function getMulticall() internal view returns (address multicall) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get multicall.
- */
- function _getMulticall() internal view returns (address multicall) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set multicall.
- */
- function setMulticall(address multicall) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
- }
-
- /**
- * @notice Set multicall.
- */
- function _setMulticall(address multicall) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
- }
-
- /**
- * @notice Get the full data.
- */
- function get() internal view returns (UltimateDominionConfigData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreSwitch.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Get the full data.
- */
- function _get() internal view returns (UltimateDominionConfigData memory _table) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) =
- StoreCore.getRecord(_tableId, _keyTuple, _fieldLayout);
- return decode(_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function set(
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- ) internal {
- bytes memory _staticData =
- encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using individual values.
- */
- function _set(
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- ) internal {
- bytes memory _staticData =
- encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function set(UltimateDominionConfigData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.locked,
- _table.goldToken,
- _table.characterToken,
- _table.entropy,
- _table.pythProvider,
- _table.items,
- _table.multicall
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Set the full data using the data struct.
- */
- function _set(UltimateDominionConfigData memory _table) internal {
- bytes memory _staticData = encodeStatic(
- _table.locked,
- _table.goldToken,
- _table.characterToken,
- _table.entropy,
- _table.pythProvider,
- _table.items,
- _table.multicall
- );
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
- }
-
- /**
- * @notice Decode the tightly packed blob of static data using this table's field layout.
- */
- function decodeStatic(bytes memory _blob)
- internal
- pure
- returns (
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- )
- {
- locked = (_toBool(uint8(Bytes.getBytes1(_blob, 0))));
-
- goldToken = (address(Bytes.getBytes20(_blob, 1)));
-
- characterToken = (address(Bytes.getBytes20(_blob, 21)));
-
- entropy = (address(Bytes.getBytes20(_blob, 41)));
-
- pythProvider = (address(Bytes.getBytes20(_blob, 61)));
-
- items = (address(Bytes.getBytes20(_blob, 81)));
-
- multicall = (address(Bytes.getBytes20(_blob, 101)));
- }
-
- /**
- * @notice Decode the tightly packed blobs using this table's field layout.
- * @param _staticData Tightly packed static fields.
- *
- *
- */
- function decode(bytes memory _staticData, EncodedLengths, bytes memory)
- internal
- pure
- returns (UltimateDominionConfigData memory _table)
- {
- (
- _table.locked,
- _table.goldToken,
- _table.characterToken,
- _table.entropy,
- _table.pythProvider,
- _table.items,
- _table.multicall
- ) = decodeStatic(_staticData);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function deleteRecord() internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.deleteRecord(_tableId, _keyTuple);
- }
-
- /**
- * @notice Delete all data for given keys.
- */
- function _deleteRecord() internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
- }
-
- /**
- * @notice Tightly pack static (fixed length) data using this table's schema.
- * @return The static data, encoded into a sequence of bytes.
- */
- function encodeStatic(
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- ) internal pure returns (bytes memory) {
- return abi.encodePacked(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
- }
-
- /**
- * @notice Encode all of a record's fields.
- * @return The static (fixed length) data, encoded into a sequence of bytes.
- * @return The lengths of the dynamic fields (packed into a single bytes32 value).
- * @return The dynamic (variable length) data, encoded into a sequence of bytes.
- */
- function encode(
- bool locked,
- address goldToken,
- address characterToken,
- address entropy,
- address pythProvider,
- address items,
- address multicall
- ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData =
- encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
-
- EncodedLengths _encodedLengths;
- bytes memory _dynamicData;
-
- return (_staticData, _encodedLengths, _dynamicData);
- }
-
- /**
- * @notice Encode keys as a bytes32 array using this table's field layout.
- */
- function encodeKeyTuple() internal pure returns (bytes32[] memory) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- return _keyTuple;
- }
+ // Hex below is the result of `WorldResourceIdLib.encode({ namespace: "UD", name: "UltimateDominion", typeId: RESOURCE_TABLE });`
+ ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000556c74696d617465446f6d696e696f6e);
+
+ FieldLayout constant _fieldLayout =
+ FieldLayout.wrap(0x0079070001141414141414000000000000000000000000000000000000000000);
+
+ // Hex-encoded key schema of ()
+ Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool, address, address, address, address, address, address)
+ Schema constant _valueSchema = Schema.wrap(0x0079070060616161616161000000000000000000000000000000000000000000);
+
+ /**
+ * @notice Get the table's key field names.
+ * @return keyNames An array of strings with the names of key fields.
+ */
+ function getKeyNames() internal pure returns (string[] memory keyNames) {
+ keyNames = new string[](0);
+ }
+
+ /**
+ * @notice Get the table's value field names.
+ * @return fieldNames An array of strings with the names of value fields.
+ */
+ function getFieldNames() internal pure returns (string[] memory fieldNames) {
+ fieldNames = new string[](7);
+ fieldNames[0] = "locked";
+ fieldNames[1] = "goldToken";
+ fieldNames[2] = "characterToken";
+ fieldNames[3] = "entropy";
+ fieldNames[4] = "pythProvider";
+ fieldNames[5] = "items";
+ fieldNames[6] = "multicall";
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function register() internal {
+ StoreSwitch.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Register the table with its config.
+ */
+ function _register() internal {
+ StoreCore.registerTable(_tableId, _fieldLayout, _keySchema, _valueSchema, getKeyNames(), getFieldNames());
+ }
+
+ /**
+ * @notice Get locked.
+ */
+ function getLocked() internal view returns (bool locked) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Get locked.
+ */
+ function _getLocked() internal view returns (bool locked) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 0, _fieldLayout);
+ return (_toBool(uint8(bytes1(_blob))));
+ }
+
+ /**
+ * @notice Set locked.
+ */
+ function setLocked(bool locked) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((locked)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set locked.
+ */
+ function _setLocked(bool locked) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 0, abi.encodePacked((locked)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get goldToken.
+ */
+ function getGoldToken() internal view returns (address goldToken) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get goldToken.
+ */
+ function _getGoldToken() internal view returns (address goldToken) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 1, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set goldToken.
+ */
+ function setGoldToken(address goldToken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((goldToken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set goldToken.
+ */
+ function _setGoldToken(address goldToken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 1, abi.encodePacked((goldToken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get characterToken.
+ */
+ function getCharacterToken() internal view returns (address characterToken) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get characterToken.
+ */
+ function _getCharacterToken() internal view returns (address characterToken) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 2, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set characterToken.
+ */
+ function setCharacterToken(address characterToken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((characterToken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set characterToken.
+ */
+ function _setCharacterToken(address characterToken) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 2, abi.encodePacked((characterToken)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get entropy.
+ */
+ function getEntropy() internal view returns (address entropy) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get entropy.
+ */
+ function _getEntropy() internal view returns (address entropy) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 3, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set entropy.
+ */
+ function setEntropy(address entropy) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((entropy)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set entropy.
+ */
+ function _setEntropy(address entropy) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 3, abi.encodePacked((entropy)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get pythProvider.
+ */
+ function getPythProvider() internal view returns (address pythProvider) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get pythProvider.
+ */
+ function _getPythProvider() internal view returns (address pythProvider) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 4, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set pythProvider.
+ */
+ function setPythProvider(address pythProvider) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((pythProvider)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set pythProvider.
+ */
+ function _setPythProvider(address pythProvider) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 4, abi.encodePacked((pythProvider)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get items.
+ */
+ function getItems() internal view returns (address items) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get items.
+ */
+ function _getItems() internal view returns (address items) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 5, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set items.
+ */
+ function setItems(address items) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set items.
+ */
+ function _setItems(address items) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get multicall.
+ */
+ function getMulticall() internal view returns (address multicall) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Get multicall.
+ */
+ function _getMulticall() internal view returns (address multicall) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
+ return (address(bytes20(_blob)));
+ }
+
+ /**
+ * @notice Set multicall.
+ */
+ function setMulticall(address multicall) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
+ }
+
+ /**
+ * @notice Set multicall.
+ */
+ function _setMulticall(address multicall) internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function get() internal view returns (UltimateDominionConfigData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreSwitch.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Get the full data.
+ */
+ function _get() internal view returns (UltimateDominionConfigData memory _table) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ (bytes memory _staticData, EncodedLengths _encodedLengths, bytes memory _dynamicData) = StoreCore.getRecord(
+ _tableId,
+ _keyTuple,
+ _fieldLayout
+ );
+ return decode(_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function set(
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ ) internal {
+ bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using individual values.
+ */
+ function _set(
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ ) internal {
+ bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function set(UltimateDominionConfigData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.locked,
+ _table.goldToken,
+ _table.characterToken,
+ _table.entropy,
+ _table.pythProvider,
+ _table.items,
+ _table.multicall
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Set the full data using the data struct.
+ */
+ function _set(UltimateDominionConfigData memory _table) internal {
+ bytes memory _staticData = encodeStatic(
+ _table.locked,
+ _table.goldToken,
+ _table.characterToken,
+ _table.entropy,
+ _table.pythProvider,
+ _table.items,
+ _table.multicall
+ );
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.setRecord(_tableId, _keyTuple, _staticData, _encodedLengths, _dynamicData, _fieldLayout);
+ }
+
+ /**
+ * @notice Decode the tightly packed blob of static data using this table's field layout.
+ */
+ function decodeStatic(
+ bytes memory _blob
+ )
+ internal
+ pure
+ returns (
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ )
+ {
+ locked = (_toBool(uint8(Bytes.getBytes1(_blob, 0))));
+
+ goldToken = (address(Bytes.getBytes20(_blob, 1)));
+
+ characterToken = (address(Bytes.getBytes20(_blob, 21)));
+
+ entropy = (address(Bytes.getBytes20(_blob, 41)));
+
+ pythProvider = (address(Bytes.getBytes20(_blob, 61)));
+
+ items = (address(Bytes.getBytes20(_blob, 81)));
+
+ multicall = (address(Bytes.getBytes20(_blob, 101)));
+ }
+
+ /**
+ * @notice Decode the tightly packed blobs using this table's field layout.
+ * @param _staticData Tightly packed static fields.
+ *
+ *
+ */
+ function decode(
+ bytes memory _staticData,
+ EncodedLengths,
+ bytes memory
+ ) internal pure returns (UltimateDominionConfigData memory _table) {
+ (
+ _table.locked,
+ _table.goldToken,
+ _table.characterToken,
+ _table.entropy,
+ _table.pythProvider,
+ _table.items,
+ _table.multicall
+ ) = decodeStatic(_staticData);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function deleteRecord() internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreSwitch.deleteRecord(_tableId, _keyTuple);
+ }
+
+ /**
+ * @notice Delete all data for given keys.
+ */
+ function _deleteRecord() internal {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ StoreCore.deleteRecord(_tableId, _keyTuple, _fieldLayout);
+ }
+
+ /**
+ * @notice Tightly pack static (fixed length) data using this table's schema.
+ * @return The static data, encoded into a sequence of bytes.
+ */
+ function encodeStatic(
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ ) internal pure returns (bytes memory) {
+ return abi.encodePacked(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+ }
+
+ /**
+ * @notice Encode all of a record's fields.
+ * @return The static (fixed length) data, encoded into a sequence of bytes.
+ * @return The lengths of the dynamic fields (packed into a single bytes32 value).
+ * @return The dynamic (variable length) data, encoded into a sequence of bytes.
+ */
+ function encode(
+ bool locked,
+ address goldToken,
+ address characterToken,
+ address entropy,
+ address pythProvider,
+ address items,
+ address multicall
+ ) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
+ bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+
+ EncodedLengths _encodedLengths;
+ bytes memory _dynamicData;
+
+ return (_staticData, _encodedLengths, _dynamicData);
+ }
+
+ /**
+ * @notice Encode keys as a bytes32 array using this table's field layout.
+ */
+ function encodeKeyTuple() internal pure returns (bytes32[] memory) {
+ bytes32[] memory _keyTuple = new bytes32[](0);
+
+ return _keyTuple;
+ }
}
/**
@@ -581,7 +586,7 @@ library UltimateDominionConfig {
* @return result The boolean value.
*/
function _toBool(uint8 value) pure returns (bool result) {
- assembly {
- result := value
- }
+ assembly {
+ result := value
+ }
}
diff --git a/packages/contracts/src/codegen/world/IActionSystem.sol b/packages/contracts/src/codegen/world/IActionSystem.sol
index 3f844d1f9..a8b250e62 100644
--- a/packages/contracts/src/codegen/world/IActionSystem.sol
+++ b/packages/contracts/src/codegen/world/IActionSystem.sol
@@ -3,7 +3,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import {ActionType} from "@codegen/common.sol";
+import { ActionType } from "@codegen/common.sol";
/**
* @title IActionSystem
@@ -11,9 +11,9 @@ import {ActionType} from "@codegen/common.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IActionSystem {
- function UD__createAction(ActionType actionType, bytes memory actionStats) external returns (bytes32 actionId);
+ function UD__createAction(ActionType actionType, bytes memory actionStats) external returns (bytes32 actionId);
- function UD__assignActionToCharacter(bytes32 characterId, bytes32 actionId) external;
+ function UD__assignActionToCharacter(bytes32 characterId, bytes32 actionId) external;
- function UD__equipAction(bytes32 characterId, bytes32 actionId) external;
+ function UD__equipAction(bytes32 characterId, bytes32 actionId) external;
}
diff --git a/packages/contracts/src/codegen/world/ICharacterSystem.sol b/packages/contracts/src/codegen/world/ICharacterSystem.sol
index 56be1c6f9..7672f9758 100644
--- a/packages/contracts/src/codegen/world/ICharacterSystem.sol
+++ b/packages/contracts/src/codegen/world/ICharacterSystem.sol
@@ -3,8 +3,8 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import {Classes} from "@codegen/common.sol";
-import {StatsData} from "@codegen/index.sol";
+import { Classes } from "@codegen/common.sol";
+import { StatsData } from "@codegen/index.sol";
/**
* @title ICharacterSystem
@@ -12,35 +12,37 @@ import {StatsData} from "@codegen/index.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface ICharacterSystem {
- function UD__getName(bytes32 characterId) external view returns (bytes32 _name);
+ function UD__getName(bytes32 characterId) external view returns (bytes32 _name);
- function UD__getClass(bytes32 characterId) external view returns (Classes _class);
+ function UD__getClass(bytes32 characterId) external view returns (Classes _class);
- function UD__getPlayerEntityId(uint256 characterTokenId) external view returns (bytes32 characterId);
+ function UD__getPlayerEntityId(uint256 characterTokenId) external view returns (bytes32 characterId);
- function UD__getCharacterTokenId(bytes32 characterId) external pure returns (uint256);
+ function UD__getCharacterTokenId(bytes32 characterId) external pure returns (uint256);
- function UD__getOwnerAddress(bytes32 characterId) external pure returns (address);
+ function UD__getOwnerAddress(bytes32 characterId) external pure returns (address);
- function UD__isValidCharacterId(bytes32 characterId) external view returns (bool);
+ function UD__isValidCharacterId(bytes32 characterId) external view returns (bool);
- function UD__isValidOwner(bytes32 characterId, address owner) external view returns (bool);
+ function UD__isValidOwner(bytes32 characterId, address owner) external view returns (bool);
- function UD__mintCharacter(address account, bytes32 name, string memory tokenUri)
- external
- returns (bytes32 characterId);
+ function UD__mintCharacter(
+ address account,
+ bytes32 name,
+ string memory tokenUri
+ ) external returns (bytes32 characterId);
- function UD__rollStats(bytes32 userRandomNumber, bytes32 characterId, Classes class) external payable;
+ function UD__rollStats(bytes32 userRandomNumber, bytes32 characterId, Classes class) external payable;
- function UD__enterGame(bytes32 characterId) external;
+ function UD__enterGame(bytes32 characterId) external;
- function UD__getCurrentAvailableLevel(uint256 experience) external view returns (uint256 currentLevel);
+ function UD__getCurrentAvailableLevel(uint256 experience) external view returns (uint256 currentLevel);
- function UD__updateTokenUri(bytes32 characterId, string memory tokenUri) external;
+ function UD__updateTokenUri(bytes32 characterId, string memory tokenUri) external;
- function UD__getOwner(bytes32 characterId) external view returns (address);
+ function UD__getOwner(bytes32 characterId) external view returns (address);
- function UD__getExperience(bytes32 characterId) external view returns (uint256);
+ function UD__getExperience(bytes32 characterId) external view returns (uint256);
- function UD__getStats(bytes32 characterId) external view returns (StatsData memory);
+ function UD__getStats(bytes32 characterId) external view returns (StatsData memory);
}
diff --git a/packages/contracts/src/codegen/world/ICombatSystem.sol b/packages/contracts/src/codegen/world/ICombatSystem.sol
index 7dc75219b..23c1c406e 100644
--- a/packages/contracts/src/codegen/world/ICombatSystem.sol
+++ b/packages/contracts/src/codegen/world/ICombatSystem.sol
@@ -3,9 +3,9 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import {EncounterType} from "@codegen/common.sol";
-import {Action, PhysicalAttackStats} from "@interfaces/Structs.sol";
-import {CombatEncounterData} from "@codegen/index.sol";
+import { EncounterType } from "@codegen/common.sol";
+import { Action, PhysicalAttackStats } from "@interfaces/Structs.sol";
+import { CombatEncounterData } from "@codegen/index.sol";
/**
* @title ICombatSystem
@@ -13,37 +13,43 @@ import {CombatEncounterData} from "@codegen/index.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface ICombatSystem {
- function UD__createMatch(EncounterType encounterType, bytes32[] memory attackers, bytes32[] memory defenders)
- external
- returns (bytes32 encounterId);
+ function UD__createMatch(
+ EncounterType encounterType,
+ bytes32[] memory attackers,
+ bytes32[] memory defenders
+ ) external returns (bytes32 encounterId);
- function UD__isValidPvE(bytes32[] memory attackers, bytes32[] memory defenders, uint16 x, uint16 y)
- external
- view
- returns (bool _isValidPvE);
+ function UD__isValidPvE(
+ bytes32[] memory attackers,
+ bytes32[] memory defenders,
+ uint16 x,
+ uint16 y
+ ) external view returns (bool _isValidPvE);
- function UD__endTurn(bytes32 encounterId, bytes32 playerId, Action[] memory actions) external payable;
+ function UD__endTurn(bytes32 encounterId, bytes32 playerId, Action[] memory actions) external payable;
- function UD__isParticipant(address account, bytes32 encounterId) external view returns (bool _isParticipant);
+ function UD__isParticipant(address account, bytes32 encounterId) external view returns (bool _isParticipant);
- function UD__isParticipant(address account, bytes32[] memory participants)
- external
- view
- returns (bool _isParticipant);
+ function UD__isParticipant(
+ address account,
+ bytes32[] memory participants
+ ) external view returns (bool _isParticipant);
- function UD__executeCombat(uint256 randomNumber, bytes32 encounterId, Action[] memory actions) external;
+ function UD__executeCombat(uint256 randomNumber, bytes32 encounterId, Action[] memory actions) external;
- function UD___calculatePhysicalAttack(
- PhysicalAttackStats memory attackStats,
- bytes32 attackerId,
- bytes32 defenderId,
- uint256 weaponId,
- uint256 randomNumber
- ) external returns (int256 damage, bool hit, bool crit);
+ function UD___calculatePhysicalAttack(
+ PhysicalAttackStats memory attackStats,
+ bytes32 attackerId,
+ bytes32 defenderId,
+ uint256 weaponId,
+ uint256 randomNumber
+ ) external returns (int256 damage, bool hit, bool crit);
- function UD__getEncounter(bytes32 encounterId) external view returns (CombatEncounterData memory _encounterData);
+ function UD__getEncounter(bytes32 encounterId) external view returns (CombatEncounterData memory _encounterData);
- function UD___calculateMagicAttack() external;
+ function UD___calculateMagicAttack() external;
- function UD__calculateGoldDrop(uint256 mobLevel, uint256 randomNumber) external returns (uint256 dropAmount);
+ function UD__calculateGoldDrop(uint256 mobLevel, uint256 randomNumber) external returns (uint256 dropAmount);
+
+ function UD__calculateItemDrop(uint256 randomNumber, uint256 itemId) external returns (bool);
}
diff --git a/packages/contracts/src/codegen/world/IEquipmentSystem.sol b/packages/contracts/src/codegen/world/IEquipmentSystem.sol
index bb5c57e47..3669ba117 100644
--- a/packages/contracts/src/codegen/world/IEquipmentSystem.sol
+++ b/packages/contracts/src/codegen/world/IEquipmentSystem.sol
@@ -3,7 +3,7 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import {AdjustedCombatStats, WeaponStats, ArmorStats} from "@interfaces/Structs.sol";
+import { AdjustedCombatStats, WeaponStats, ArmorStats } from "@interfaces/Structs.sol";
/**
* @title IEquipmentSystem
@@ -11,20 +11,17 @@ import {AdjustedCombatStats, WeaponStats, ArmorStats} from "@interfaces/Structs.
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IEquipmentSystem {
- function UD__equipItems(bytes32 characterId, uint256[] memory itemIds) external;
+ function UD__equipItems(bytes32 characterId, uint256[] memory itemIds) external;
- function UD__isEquipped(bytes32 characterId, uint256 itemId) external view returns (bool _isEquipped);
+ function UD__isEquipped(bytes32 characterId, uint256 itemId) external view returns (bool _isEquipped);
- function UD__checkRequirements(bytes32 characterId, uint256 itemId) external view returns (bool canUse);
+ function UD__checkRequirements(bytes32 characterId, uint256 itemId) external view returns (bool canUse);
- function UD__unequipItem(bytes32 characterId, uint256 itemId) external returns (bool success);
+ function UD__unequipItem(bytes32 characterId, uint256 itemId) external returns (bool success);
- function UD__applyEquipmentBonuses(bytes32 entityId)
- external
- view
- returns (AdjustedCombatStats memory modifiedStats);
+ function UD__applyEquipmentBonuses(bytes32 entityId) external view returns (AdjustedCombatStats memory modifiedStats);
- function UD__getWeaponStats(uint256 itemId) external view returns (WeaponStats memory _weaponStats);
+ function UD__getWeaponStats(uint256 itemId) external view returns (WeaponStats memory _weaponStats);
- function UD__getArmorStats(uint256 itemId) external view returns (ArmorStats memory _ArmorStats);
+ function UD__getArmorStats(uint256 itemId) external view returns (ArmorStats memory _ArmorStats);
}
diff --git a/packages/contracts/src/codegen/world/IItemsSystem.sol b/packages/contracts/src/codegen/world/IItemsSystem.sol
index 7d5fe5138..571a85b18 100644
--- a/packages/contracts/src/codegen/world/IItemsSystem.sol
+++ b/packages/contracts/src/codegen/world/IItemsSystem.sol
@@ -3,8 +3,8 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import {ItemType, Classes} from "@codegen/common.sol";
-import {StarterItemsData} from "@codegen/index.sol";
+import { ItemType, Classes } from "@codegen/common.sol";
+import { StarterItemsData } from "@codegen/index.sol";
/**
* @title IItemsSystem
@@ -12,33 +12,33 @@ import {StarterItemsData} from "@codegen/index.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IItemsSystem {
- function UD__createItem(
- ItemType itemType,
- uint256 supply,
- uint256 dropChance,
- bytes memory stats,
- string memory itemMetadataURI
- ) external returns (uint256);
+ function UD__createItem(
+ ItemType itemType,
+ uint256 supply,
+ uint256 dropChance,
+ bytes memory stats,
+ string memory itemMetadataURI
+ ) external returns (uint256);
- function UD__createItems(
- ItemType[] memory itemTypes,
- uint256[] memory supply,
- uint256[] memory dropChances,
- bytes[] memory stats,
- string[] memory itemMetadataURIs
- ) external;
+ function UD__createItems(
+ ItemType[] memory itemTypes,
+ uint256[] memory supply,
+ uint256[] memory dropChances,
+ bytes[] memory stats,
+ string[] memory itemMetadataURIs
+ ) external;
- function UD__getTotalSupply(uint256 tokenId) external view returns (uint256 _supply);
+ function UD__getTotalSupply(uint256 tokenId) external view returns (uint256 _supply);
- function UD__getStarterItems(Classes class) external view returns (StarterItemsData memory data);
+ function UD__getStarterItems(Classes class) external view returns (StarterItemsData memory data);
- function UD__setTokenUri(uint256 tokenId, string memory tokenUri) external;
+ function UD__setTokenUri(uint256 tokenId, string memory tokenUri) external;
- function UD__getItemType(uint256 itemId) external view returns (ItemType);
+ function UD__getItemType(uint256 itemId) external view returns (ItemType);
- function UD__getCurrentItemsCounter() external view returns (uint256);
+ function UD__getCurrentItemsCounter() external view returns (uint256);
- function UD__setStarterItems(Classes class, uint256[] memory itemIds, uint256[] memory amounts) external;
+ function UD__setStarterItems(Classes class, uint256[] memory itemIds, uint256[] memory amounts) external;
- function UD__isItemOwner(uint256 itemId, address account) external view returns (bool);
+ function UD__isItemOwner(uint256 itemId, address account) external view returns (bool);
}
diff --git a/packages/contracts/src/codegen/world/ILootManagerSystem.sol b/packages/contracts/src/codegen/world/ILootManagerSystem.sol
new file mode 100644
index 000000000..1220f1642
--- /dev/null
+++ b/packages/contracts/src/codegen/world/ILootManagerSystem.sol
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+/* Autogenerated file. Do not edit manually. */
+
+/**
+ * @title ILootManagerSystem
+ * @author MUD (https://mud.dev) by Lattice (https://lattice.xyz)
+ * @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
+ */
+interface ILootManagerSystem {
+ function UD__issueStarterItems(bytes32 characterId) external;
+
+ function UD__dropGold(bytes32 characterId, uint256 amount) external;
+
+ function UD__dropItem(uint256 itemId, uint256 amount, bytes32 characterId) external;
+
+ function UD__dropItems(uint256[] memory itemIds, uint256[] memory amounts, bytes32[] memory characterIds) external;
+}
diff --git a/packages/contracts/src/codegen/world/IMapSystem.sol b/packages/contracts/src/codegen/world/IMapSystem.sol
index aaac3781b..6d44cd167 100644
--- a/packages/contracts/src/codegen/world/IMapSystem.sol
+++ b/packages/contracts/src/codegen/world/IMapSystem.sol
@@ -9,14 +9,11 @@ pragma solidity >=0.8.24;
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IMapSystem {
- function UD__move(bytes32 entityId, uint16 x, uint16 y) external;
+ function UD__move(bytes32 entityId, uint16 x, uint16 y) external;
- function UD__spawn(bytes32 entityId) external;
+ function UD__spawn(bytes32 entityId) external;
- function UD__getEntitiesAtPosition(uint16 x, uint16 y)
- external
- view
- returns (bytes32[] memory entitiesAtPosition);
+ function UD__getEntitiesAtPosition(uint16 x, uint16 y) external view returns (bytes32[] memory entitiesAtPosition);
- function UD__isAtPosition(bytes32 entityId, uint16 x, uint16 y) external view returns (bool _isAtPosition);
+ function UD__isAtPosition(bytes32 entityId, uint16 x, uint16 y) external view returns (bool _isAtPosition);
}
diff --git a/packages/contracts/src/codegen/world/IMobSystem.sol b/packages/contracts/src/codegen/world/IMobSystem.sol
index a71ac5587..05c23d63f 100644
--- a/packages/contracts/src/codegen/world/IMobSystem.sol
+++ b/packages/contracts/src/codegen/world/IMobSystem.sol
@@ -3,9 +3,9 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import {MobType} from "@codegen/common.sol";
-import {NPCStats, MonsterStats} from "@interfaces/Structs.sol";
-import {MobsData} from "@tables/Mobs.sol";
+import { MobType } from "@codegen/common.sol";
+import { NPCStats, MonsterStats } from "@interfaces/Structs.sol";
+import { MobsData } from "@tables/Mobs.sol";
/**
* @title IMobSystem
@@ -13,32 +13,29 @@ import {MobsData} from "@tables/Mobs.sol";
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IMobSystem {
- function UD__createMob(MobType mobType, bytes memory stats, string memory mobMetadataUri)
- external
- returns (uint256);
+ function UD__createMob(MobType mobType, bytes memory stats, string memory mobMetadataUri) external returns (uint256);
- function UD__createMobs(MobType[] memory mobTypes, bytes[] memory stats, string[] memory mobMetadataURIs)
- external;
+ function UD__createMobs(MobType[] memory mobTypes, bytes[] memory stats, string[] memory mobMetadataURIs) external;
- function UD__spawnMob(uint256 mobId, uint16 x, uint16 y) external returns (bytes32 entityId);
+ function UD__spawnMob(uint256 mobId, uint16 x, uint16 y) external returns (bytes32 entityId);
- function UD__getMobId(bytes32 entityId) external pure returns (uint256);
+ function UD__getMobId(bytes32 entityId) external pure returns (uint256);
- function UD__getMobPosition(bytes32 entityId) external pure returns (uint16 x, uint16 y);
+ function UD__getMobPosition(bytes32 entityId) external pure returns (uint16 x, uint16 y);
- function UD__getSpawnCounter(bytes32 entityId) external pure returns (uint256);
+ function UD__getSpawnCounter(bytes32 entityId) external pure returns (uint256);
- function UD__getNpcStats(uint256 mobId) external view returns (NPCStats memory);
+ function UD__getNpcStats(uint256 mobId) external view returns (NPCStats memory);
- function UD__getNpcStats(bytes32 entityId) external view returns (NPCStats memory);
+ function UD__getNpcStats(bytes32 entityId) external view returns (NPCStats memory);
- function UD__getMonsterStats(uint256 mobId) external view returns (MonsterStats memory);
+ function UD__getMonsterStats(uint256 mobId) external view returns (MonsterStats memory);
- function UD__getMonsterStats(bytes32 entityId) external view returns (MonsterStats memory);
+ function UD__getMonsterStats(bytes32 entityId) external view returns (MonsterStats memory);
- function UD__isValidMob(bytes32 entityId) external view returns (bool);
+ function UD__isValidMob(bytes32 entityId) external view returns (bool);
- function UD__getMob(uint256 mobId) external view returns (MobsData memory);
+ function UD__getMob(uint256 mobId) external view returns (MobsData memory);
- function UD__getMob(bytes32 entityId) external view returns (MobsData memory);
+ function UD__getMob(bytes32 entityId) external view returns (MobsData memory);
}
diff --git a/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol b/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
index b922891a0..141db9fed 100644
--- a/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
+++ b/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
@@ -9,17 +9,17 @@ pragma solidity >=0.8.24;
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IUltimateDominionConfigSystem {
- function UD__getCharacterToken() external view returns (address _characterToken);
+ function UD__getCharacterToken() external view returns (address _characterToken);
- function UD__getGoldToken() external view returns (address _goldToken);
+ function UD__getGoldToken() external view returns (address _goldToken);
- function UD__getEntropy() external view returns (address _entropy);
+ function UD__getEntropy() external view returns (address _entropy);
- function UD__getPythProvider() external view returns (address _provider);
+ function UD__getPythProvider() external view returns (address _provider);
- function UD__getItemsContract() external view returns (address _erc1155);
+ function UD__getItemsContract() external view returns (address _erc1155);
- function UD__getMulticallContract() external view returns (address _multicall);
+ function UD__getMulticallContract() external view returns (address _multicall);
- function UD__getLootManagerSystem() external view returns (address _lootManager);
+ function UD__getLootManagerSystem() external view returns (address _lootManager);
}
diff --git a/packages/contracts/src/codegen/world/IWorld.sol b/packages/contracts/src/codegen/world/IWorld.sol
index 671a5ada9..f54982249 100644
--- a/packages/contracts/src/codegen/world/IWorld.sol
+++ b/packages/contracts/src/codegen/world/IWorld.sol
@@ -3,17 +3,17 @@ pragma solidity >=0.8.24;
/* Autogenerated file. Do not edit manually. */
-import {IBaseWorld} from "@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol";
+import { IBaseWorld } from "@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol";
-import {IActionSystem} from "./IActionSystem.sol";
-import {ICharacterSystem} from "./ICharacterSystem.sol";
-import {ICombatSystem} from "./ICombatSystem.sol";
-import {IEquipmentSystem} from "./IEquipmentSystem.sol";
-import {IItemsSystem} from "./IItemsSystem.sol";
-import {ILootManagerSystem} from "./ILootManagerSystem.sol";
-import {IMapSystem} from "./IMapSystem.sol";
-import {IMobSystem} from "./IMobSystem.sol";
-import {IUltimateDominionConfigSystem} from "./IUltimateDominionConfigSystem.sol";
+import { IActionSystem } from "./IActionSystem.sol";
+import { ICharacterSystem } from "./ICharacterSystem.sol";
+import { ICombatSystem } from "./ICombatSystem.sol";
+import { IEquipmentSystem } from "./IEquipmentSystem.sol";
+import { IItemsSystem } from "./IItemsSystem.sol";
+import { ILootManagerSystem } from "./ILootManagerSystem.sol";
+import { IMapSystem } from "./IMapSystem.sol";
+import { IMobSystem } from "./IMobSystem.sol";
+import { IUltimateDominionConfigSystem } from "./IUltimateDominionConfigSystem.sol";
/**
* @title IWorld
@@ -23,14 +23,14 @@ import {IUltimateDominionConfigSystem} from "./IUltimateDominionConfigSystem.sol
* @dev This is an autogenerated file; do not edit manually.
*/
interface IWorld is
- IBaseWorld,
- IActionSystem,
- ICharacterSystem,
- ICombatSystem,
- IEquipmentSystem,
- IItemsSystem,
- ILootManagerSystem,
- IMapSystem,
- IMobSystem,
- IUltimateDominionConfigSystem
+ IBaseWorld,
+ IActionSystem,
+ ICharacterSystem,
+ ICombatSystem,
+ IEquipmentSystem,
+ IItemsSystem,
+ ILootManagerSystem,
+ IMapSystem,
+ IMobSystem,
+ IUltimateDominionConfigSystem
{}
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index b86212d77..4871a5008 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -349,6 +349,7 @@ contract CombatSystem is System {
if (statsTemp.currentHp <= int256(0)) {
expDrop += statsTemp.experience;
goldDrop += calculateGoldDrop(statsTemp.level, randomNumber);
+ MatchEntity.setEncounterId(encounterData.defenders[i], bytes32(0));
}
}
// drop gold reward calculated from the level of mob to player journey wallet (can mint tokens when he returns to 0,0).
@@ -363,6 +364,7 @@ contract CombatSystem is System {
statsTemp.experience += expDrop / livingAttackers;
IWorld(_world()).UD__dropGold(entityIdTemp, (goldDrop / livingAttackers));
Stats.set(entityIdTemp, statsTemp);
+ MatchEntity.setEncounterId(encounterData.attackers[i], bytes32(0));
}
}
}
@@ -373,4 +375,6 @@ contract CombatSystem is System {
dropAmount = randomNumber % (BASE_GOLD_DROP * mobLevel);
}
+
+ function calculateItemDrop(uint256 randomNumber, uint256 itemId) public returns (bool) {}
}
diff --git a/packages/contracts/src/systems/LootManagerSystem.sol b/packages/contracts/src/systems/LootManagerSystem.sol
new file mode 100644
index 000000000..12b3620a1
--- /dev/null
+++ b/packages/contracts/src/systems/LootManagerSystem.sol
@@ -0,0 +1,90 @@
+// SPDX-License-Identifier: MIT
+pragma solidity >=0.8.24;
+
+import {System} from "@latticexyz/world/src/System.sol";
+import {Systems} from "@latticexyz/world/src/codegen/tables/Systems.sol";
+import {IERC20System} from "@latticexyz/world-modules/src/interfaces/IERC20System.sol";
+import {IWorld} from "@world/IWorld.sol";
+import {IERC1155System} from "@erc1155/IERC1155System.sol";
+import {IERC1155Receiver} from "@erc1155/IERC1155Receiver.sol";
+import {
+ UltimateDominionConfig,
+ Items,
+ ItemsData,
+ Counters,
+ StarterItems,
+ StarterItemsData,
+ Characters,
+ CharactersData,
+ Stats,
+ StatsData,
+ CharacterEquipment,
+ CharacterEquipmentData
+} from "@codegen/index.sol";
+import {ItemType, Classes} from "@codegen/common.sol";
+import {AccessControlLib} from "@latticexyz/world-modules/src/utils/AccessControlLib.sol";
+import {SystemRegistry} from "@latticexyz/world/src/codegen/tables/SystemRegistry.sol";
+import {
+ _erc1155SystemId,
+ _characterSystemId,
+ _requireOwner,
+ _requireAccess,
+ _requireAccess,
+ _lootManagerSystemId
+} from "../utils.sol";
+import {ITEMS_NAMESPACE, WORLD_NAMESPACE} from "../../constants.sol";
+import {WeaponStats, ArmorStats} from "@interfaces/Structs.sol";
+import {TotalSupply} from "@erc1155/tables/TotalSupply.sol";
+import {Owners} from "@erc1155/tables/Owners.sol";
+import {ERC1155URIStorage} from "@erc1155/tables/ERC1155URIStorage.sol";
+import {ERC1155MetadataURI} from "@erc1155/tables/ERC1155MetadataURI.sol";
+import {ERC1155System} from "@erc1155/ERC1155System.sol";
+import {
+ _metadataTableId,
+ _erc1155URIStorageTableId,
+ _totalSupplyTableId,
+ _operatorApprovalTableId,
+ _ownersTableId
+} from "@erc1155/utils.sol";
+import "forge-std/console2.sol";
+
+contract LootManagerSystem is System {
+ // all items and gold will be managed by this system. ownership of both contracts will be on this system and permissions
+ // distribute will be managed here.
+
+ function _goldToken() internal view returns (IERC20System goldToken) {
+ goldToken = IERC20System(UltimateDominionConfig.getGoldToken());
+ }
+
+ function issueStarterItems(bytes32 characterId) public {
+ require(_msgSender() == Systems.getSystem(_characterSystemId(WORLD_NAMESPACE)), "ITEMS: Invalid System");
+ StarterItemsData memory starterItems = IWorld(_world()).UD__getStarterItems(Stats.getClass(characterId));
+
+ address owner = IWorld(_world()).UD__getOwner(characterId);
+
+ for (uint256 i; i < starterItems.itemIds.length; i++) {
+ _items().safeTransferFrom(address(this), owner, starterItems.itemIds[i], starterItems.amounts[i], "");
+ }
+ }
+
+ function dropGold(bytes32 characterId, uint256 amount) public {
+ AccessControlLib.requireAccess(_lootManagerSystemId(WORLD_NAMESPACE), _msgSender());
+ _goldToken().mint(IWorld(_world()).UD__getOwner(characterId), amount);
+ }
+
+ function dropItem(uint256 itemId, uint256 amount, bytes32 characterId) public {
+ AccessControlLib.requireAccess(_lootManagerSystemId(WORLD_NAMESPACE), _msgSender());
+ address to = IWorld(_world()).UD__getOwner(characterId);
+ _items().transferFrom(address(this), to, itemId, amount);
+ }
+
+ function dropItems(uint256[] memory itemIds, uint256[] memory amounts, bytes32[] memory characterIds) public {
+ for (uint256 i; i < itemIds.length; i++) {
+ dropItem(itemIds[i], amounts[i], characterIds[i]);
+ }
+ }
+
+ function _items() internal view returns (IERC1155System _items) {
+ _items = IERC1155System(UltimateDominionConfig.getItems());
+ }
+}
From fd389f90c4036a7902b8565830169c7c34343016 Mon Sep 17 00:00:00 2001
From: MrDeadCe11
Date: Tue, 16 Jul 2024 18:17:39 -0500
Subject: [PATCH 7/8] fixed multicall error
---
.../CharacterSystem.sol/CharacterSystem.json | 2433 +----
.../contracts/out/IWorld.sol/IWorld.abi.json | 6 +-
.../out/IWorld.sol/IWorld.abi.json.d.ts | 6 +-
packages/contracts/out/IWorld.sol/IWorld.json | 8904 +----------------
.../out/MapSystem.sol/MapSystem.json | 1784 +---
packages/contracts/script/PostDeploy.s.sol | 6 -
.../codegen/tables/UltimateDominionConfig.sol | 82 +-
.../src/codegen/world/ICombatSystem.sol | 2 +-
.../world/IUltimateDominionConfigSystem.sol | 14 +-
.../contracts/src/systems/CombatSystem.sol | 11 +-
.../src/systems/LootManagerSystem.sol | 15 +-
.../systems/UltimateDominionConfigSystem.sol | 39 +-
packages/contracts/worlds.json | 4 +-
13 files changed, 61 insertions(+), 13245 deletions(-)
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
index 2a94c0f1d..01c9b41a5 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
@@ -1,2432 +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": "enterGame",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "getCharacterTokenId",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "function",
- "name": "getClass",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "_class",
- "type": "uint8",
- "internalType": "enum Classes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getCurrentAvailableLevel",
- "inputs": [
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "currentLevel",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getExperience",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getName",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "_name",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getOwner",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getOwnerAddress",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "function",
- "name": "getPlayerEntityId",
- "inputs": [
- {
- "name": "characterTokenId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getStats",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct StatsData",
- "components": [
- {
- "name": "strength",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "agility",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- },
- {
- "name": "intelligence",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "baseHitPoints",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "currentHp",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "level",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "isValidCharacterId",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "isValidOwner",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "owner",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "mintCharacter",
- "inputs": [
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "name",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "tokenUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "rollStats",
- "inputs": [
- {
- "name": "userRandomNumber",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- }
- ],
- "outputs": [],
- "stateMutability": "payable"
- },
- {
- "type": "function",
- "name": "supportsInterface",
- "inputs": [
- {
- "name": "interfaceId",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "function",
- "name": "updateTokenUri",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "tokenUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "event",
- "name": "Store_SetRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "staticData",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false,
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_SpliceDynamicData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "indexed": false,
- "internalType": "uint8"
- },
- {
- "name": "start",
- "type": "uint48",
- "indexed": false,
- "internalType": "uint48"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "indexed": false,
- "internalType": "uint40"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false,
- "internalType": "EncodedLengths"
- },
- {
- "name": "data",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "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": "EncodedLengths_InvalidLength",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "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_IndexOutOfBounds",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "accessedIndex",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidResourceType",
- "inputs": [
- {
- "name": "expected",
- "type": "bytes2",
- "internalType": "bytes2"
- },
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidSplice",
- "inputs": [
- {
- "name": "startWithinField",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "fieldLength",
- "type": "uint40",
- "internalType": "uint40"
- }
- ]
- },
- {
- "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": "0x608060405234801561001057600080fd5b5061497d806100206000396000f3fe6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea2646970667358221220051bc834708e24c962533671ce7dfc8684d60a0ba120aa18f2c998d413db9df964736f6c63430008180033",
- "sourceMap": "1812:6250:212:-:0;;;;;;;;;;;;;;;;;;;",
- "linkReferences": {}
- },
- "deployedBytecode": {
- "object": "0x6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e79070001141414141414000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea2646970667358221220051bc834708e24c962533671ce7dfc8684d60a0ba120aa18f2c998d413db9df964736f6c63430008180033",
- "sourceMap": "1812:6250:212:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:212;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:230;;;345:74;;333:2;318:18;2973:144:212;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:230;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:230;7936:124:212;;;;;;;;;;-1:-1:-1;7936:124:212;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;4111:837:212:-;;;;;;;;;;-1:-1:-1;4111:837:212;;;;;:::i;:::-;;:::i;:::-;;;4284:25:230;;;4272:2;4257:18;4111:837:212;4138:177:230;6106:492:212;;;;;;;;;;-1:-1:-1;6106:492:212;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:212;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:212;;;;;;;;;;-1:-1:-1;1853:130:212;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:212;;;;;:::i;:::-;;:::i;4954:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:212;;;;;:::i;:::-;;:::i;3542:212::-;;;;;;;;;;-1:-1:-1;3542:212:212;;;;;:::i;:::-;;:::i;6604:219::-;;;;;;;;;;-1:-1:-1;6604:219:212;;;;;:::i;:::-;;:::i;5505:595::-;;;;;;;;;;-1:-1:-1;5505:595:212;;;;;:::i;:::-;;:::i;7669:125::-;;;;;;;;;;-1:-1:-1;7669:125:212;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7800:130:212:-;;;;;;;;;;-1:-1:-1;7800:130:212;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:212;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7936:124:212:-;7996:16;;:::i;:::-;8031:22;8041:11;8031:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;4111:837:212:-;4221:19;4256:24;4283:28;:26;:28::i;:::-;4256:55;-1:-1:-1;4348:16:212;4329:35;;4321:83;;;;-1:-1:-1;;;4321:83:212;;6255:2:230;4321:83:212;;;6237:21:230;6294:2;6274:18;;;6267:30;6333:34;6313:18;;;6306:62;6404:5;6384:18;;;6377:33;6427:19;;4321:83:212;;;;;;;;;4421:8;:6;:8::i;:::-;-1:-1:-1;;;;;4414:21:212;;4449:37;4465:20;4449:15;:37::i;:::-;4488:65;;-1:-1:-1;;;;;6649:55:230;;4488:65:212;;;6631:74:230;6721:18;;;6714:34;;;6604:18;;4488:65:212;;;-1:-1:-1;;4488:65:212;;;;;;;;;;;;;;;;;;;;4414:149;;4488:65;4414:149;;;;;;;;;4488:65;4414:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4414:149:212;;;;;;;;;;;;:::i;:::-;;4587:35;4605:16;4587:17;:35::i;:::-;4573:49;;4632:41;4652:11;4665:7;4632:19;:41::i;:::-;4683:52;4705:11;4718:16;4683:21;:52::i;:::-;4754:25;4774:4;4754:19;:25::i;:::-;4753:26;4745:58;;;;-1:-1:-1;;;4745:58:212;;8662:2:230;4745:58:212;;;8644:21:230;8701:2;8681:18;;;8674:30;8740:21;8720:18;;;8713:49;8779:18;;4745:58:212;8460:343:230;4745:58:212;4813:31;4833:4;4839;4813:19;:31::i;:::-;4854:37;4873:11;4886:4;4854:18;:37::i;:::-;4901:40;4914:16;4932:8;4901:12;:40::i;:::-;4246:702;4111:837;;;;;:::o;6106:492::-;6181:20;6231:14;6242:2;6231:10;:14::i;:::-;6217:10;:28;6213:379;;-1:-1:-1;6276:2:212;6106:492;;;:::o;6213:379::-;6314:9;6309:273;6329:2;6325:1;:6;6309:273;;;6373:10;6356:13;6367:1;6356:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6407:10:212;6387:17;6398:5;:1;6402;6398:5;:::i;:::-;6387:10;:17::i;:::-;:30;6356:61;6352:155;;;6456:5;:1;6460;6456:5;:::i;:::-;6441:20;;6483:5;;6352:155;6546:3;;;;:::i;:::-;;;;6309:273;;;;6106:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:212;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:212;;3385:7;3359:34;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;3359:34:212;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:212;;;;;;;;-1:-1:-1;;3359:34:212;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:212;;3462:7;3436:34;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;3436:34:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:212;:7;-1:-1:-1;;;;;3506:23:212;;3499:30;;;;;3123:413;;;:::o;4954:545::-;5069:33;5090:11;5069:20;:33::i;:::-;5068:34;5060:90;;;;-1:-1:-1;;;5060:90:212;;9785:2:230;5060:90:212;;;9767:21:230;9824:2;9804:18;;;9797:30;9863:34;9843:18;;;9836:62;9934:13;9914:18;;;9907:41;9965:19;;5060:90:212;9583:407:230;5060:90:212;5168:21;5177:11;5168:8;:21::i;:::-;5160:53;;;;-1:-1:-1;;;5160:53:212;;10197:2:230;5160:53:212;;;10179:21:230;10236:2;10216:18;;;10209:30;10275:21;10255:18;;;10248:49;10314:18;;5160:53:212;9995:343:230;5160:53:212;5223:26;5291:34;5306:11;5319:5;5291:14;:34::i;:::-;5382:110;5435:16;5453:11;5477;5466:23;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;5466:23:212;;;;-1:-1:-1;;5466:23:212;;;;;;;;;;5400:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5400:91:212;;;;;;;;;;;;;;;;;;;;5382:17;:110::i;:::-;;5050:449;4954:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:212;;2614:16;2588:43;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;2588:43:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:212;:55;;;;;;-1:-1:-1;;2460:266:212:o;3542:212::-;3621:4;3644:31;3663:11;3644:18;:31::i;:::-;:103;;;;;3742:5;-1:-1:-1;;;;;3679:68:212;:17;:15;:17::i;:::-;:59;;;;;2830:37;;;3679:59;;;4284:25:230;-1:-1:-1;;;;;3679:25:212;;;;;;;4257:18:230;;3679:59:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3679:68:212;;3644:103;3637:110;3542:212;-1:-1:-1;;;3542:212:212:o;6604:219::-;6698:21;6707:11;6698:8;:21::i;:::-;6690:60;;;;-1:-1:-1;;;6690:60:212;;10974:2:230;6690:60:212;;;10956:21:230;11013:2;10993:18;;;10986:30;11052:28;11032:18;;;11025:56;11098:18;;6690:60:212;10772:350:230;6690:60:212;6760:56;2830:37;;;6807:8;6760:12;:56::i;:::-;6604:219;;:::o;5505:595::-;5570:21;5579:11;5570:8;:21::i;:::-;5562:52;;;;-1:-1:-1;;;5562:52:212;;11329:2:230;5562:52:212;;;11311:21:230;11368:2;11348:18;;;11341:30;11407:20;11387:18;;;11380:48;11445:18;;5562:52:212;11127:342:230;5562:52:212;5633:33;5654:11;5633:20;:33::i;:::-;5632:34;5624:72;;;;-1:-1:-1;;;5624:72:212;;11676:2:230;5624:72:212;;;11658:21:230;11715:2;11695:18;;;11688:30;11754:27;11734:18;;;11727:55;11799:18;;5624:72:212;11474:349:230;5624:72:212;5706:26;5735:22;5745:11;5735:9;:22::i;:::-;5785:1;5767:15;;;:19;5825:23;;;;5796:19;;;:53;5706:51;-1:-1:-1;5859:33:212;5869:11;5706:51;5859:9;:33::i;:::-;5909:8;:6;:8::i;:::-;5902:51;;;;;;;;12028:25:230;;;5945:7:212;12069:18:230;;;12062:34;-1:-1:-1;;;;;5902:29:212;;;;;;;12001:18:230;;5902:51:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:8;:6;:8::i;:::-;-1:-1:-1;;;;;5993:38:212;;6032:11;5993:51;;;;;;;;;;;;;4284:25:230;;4272:2;4257:18;;4138:177;5993:51:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6054:39;6075:11;6088:4;6054:20;:39::i;7669:125::-;7729:7;7755:32;7775:11;7755:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7800:130:212:-;7865:7;7891:32;7911:11;7891:19;:32::i;13270:402:195:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:195;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:195:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;7003:347:212:-;7059:7;7078:25;7106:42;:40;:42::i;:::-;7078:70;;7158:24;7185:50;7213:17;7233:1;7185:19;:50::i;:::-;:54;;7238:1;7185:54;:::i;:::-;7158:81;;7249:61;7269:17;7288:1;7292:16;7249:19;:61::i;1157:186:221:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:179:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:179;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12445:2:230;12441:15;;;;-1:-1:-1;;12437:88:230;12425:101;;12551:2;12542:12;;12296:264;4934:25:179;;;;-1:-1:-1;;4934:25:179;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:179;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;2594:287:190;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:190;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:190:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:190;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12903:14:230;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4085:25:190;;;;-1:-1:-1;;4085:25:190;;;;;;;;;1198:66;4034:26;:91::i;5941:246:179:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:179;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;6829:168:212;6911:79;6932:38;6949:20;6932:16;:38::i;:::-;6972:7;6981:8;6911:20;:79::i;3297:296:184:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:184;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:184;:64::i;5624:288:195:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:195;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:195;;;;5878:29;;;;;;;;:::i;5306:279:179:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:179;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:212:-;2329:30;2404:42;:40;:42::i;6512:295:179:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:179;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7496:167:212:-;7558:4;7597:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7597:59;;;4284:25:230;-1:-1:-1;;;;;7597:25:212;;;;;;;4257:18:230;;7597:59:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7581:75:212;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7581:75:212;;;7496:167;-1:-1:-1;;7496:167:212:o;6279:248:195:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:195;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;13290:3:230;13286:16;;;;13304:66;13282:89;13270:102;;13397:1;13388:11;;13145:260;6477:30:195;;;;-1:-1:-1;;6477:30:195;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13966:98:230;13939:18;;3713:52:107;13822:248:230;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:195:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:195;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:195;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:179:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:179;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12903:14:230;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4071:290:179;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:195:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:195;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:195:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:195;;;;-1:-1:-1;17879:370:195;;;-1:-1:-1;;;;;17879:370:195:o;5147:257:196:-;5258:16;;;5199:22;5258:16;;;;;;;;;5281:13;5297:64;1269:66;5229:45;5345:1;1398:66;5297:26;:64::i;:::-;5375:23;;;5147:257;-1:-1:-1;;;5147:257:196:o;2640:388:181:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:181;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:181;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:181;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:181:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:181;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:181;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;4646:27:181;;;;-1:-1:-1;;4646:27:181;;;;;;;;;-1:-1:-1;;;4595:26:181;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:195:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:195:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:195;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:195;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:195;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:195;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:195;-1:-1:-1;;16961:760:195:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12694:19:230;;12738:2;12729:12;;12565:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26250:12:230;26289:15;;;45340:92:45;;;26271:34:230;26341:15;;;26321:18;;;26314:43;26393:15;;26373:18;;;26366:43;26213:18;;45340:92:45;26044:371:230;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26593:25:230;;;26666:12;26654:25;;26634:18;;;26627:53;26566:18;;45581:74:45;26420:266:230;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28531:79:230;;2092:30:124;;;28519:92:230;2092:30:124;;28627:12:230;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29374:19:230;;;29409:12;;;29402:28;;;51337:7:45;;29446:12:230;;51494:30:45;29185:279:230;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:230;;;4257:18;;7664:67:24;4138:177:230;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:190;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:190;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:230:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:230;;14:180;-1:-1:-1;14:180:230:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:230;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:230;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:230;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:230;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:230;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:230:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:230;3037:15;-1:-1:-1;;3033:88:230;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:230:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:230;3925:18;;3912:32;;-1:-1:-1;3995:2:230;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:315::-;5406:6;5414;5467:2;5455:9;5446:7;5442:23;5438:32;5435:52;;;5483:1;5480;5473:12;5435:52;5519:9;5506:23;5496:33;;5579:2;5568:9;5564:18;5551:32;5592:31;5617:5;5592:31;:::i;:::-;5642:5;5632:15;;;5338:315;;;;;:::o;5658:390::-;5736:6;5744;5797:2;5785:9;5776:7;5772:23;5768:32;5765:52;;;5813:1;5810;5803:12;5765:52;5849:9;5836:23;5826:33;;5910:2;5899:9;5895:18;5882:32;5937:18;5929:6;5926:30;5923:50;;;5969:1;5966;5959:12;5923:50;5992;6034:7;6025:6;6014:9;6010:22;5992:50;:::i;:::-;5982:60;;;5658:390;;;;;:::o;6759:250::-;6844:1;6854:113;6868:6;6865:1;6862:13;6854:113;;;6944:11;;;6938:18;6925:11;;;6918:39;6890:2;6883:10;6854:113;;;-1:-1:-1;;7001:1:230;6983:16;;6976:27;6759:250::o;7014:329::-;7055:3;7093:5;7087:12;7120:6;7115:3;7108:19;7136:76;7205:6;7198:4;7193:3;7189:14;7182:4;7175:5;7171:16;7136:76;:::i;:::-;7257:2;7245:15;-1:-1:-1;;7241:88:230;7232:98;;;;7332:4;7228:109;;7014:329;-1:-1:-1;;7014:329:230:o;7348:320::-;7555:6;7544:9;7537:25;7598:2;7593;7582:9;7578:18;7571:30;7518:4;7618:44;7658:2;7647:9;7643:18;7635:6;7618:44;:::i;7673:442::-;7726:5;7779:3;7772:4;7764:6;7760:17;7756:27;7746:55;;7797:1;7794;7787:12;7746:55;7826:6;7820:13;7857:49;7873:32;7902:2;7873:32;:::i;7857:49::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8007:77;8081:2;8074:4;8065:7;8061:18;8054:4;8046:6;8042:17;8007:77;:::i;8120:335::-;8199:6;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8301:9;8295:16;8334:18;8326:6;8323:30;8320:50;;;8366:1;8363;8356:12;8320:50;8389:60;8441:7;8432:6;8421:9;8417:22;8389:60;:::i;8808:184::-;-1:-1:-1;;;8857:1:230;8850:88;8957:4;8954:1;8947:15;8981:4;8978:1;8971:15;8997:125;9062:9;;;9083:10;;;9080:36;;;9096:18;;:::i;9127:195::-;9166:3;-1:-1:-1;;9190:5:230;9187:77;9184:103;;9267:18;;:::i;:::-;-1:-1:-1;9314:1:230;9303:13;;9127:195::o;9327:251::-;9397:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:52;;;9466:1;9463;9456:12;9418:52;9498:9;9492:16;9517:31;9542:5;9517:31;:::i;10343:424::-;10565:6;10554:9;10547:25;10581:37;10611:6;10581:37;:::i;:::-;10654:6;10649:2;10638:9;10634:18;10627:34;10697:2;10692;10681:9;10677:18;10670:30;10528:4;10717:44;10757:2;10746:9;10742:18;10734:6;10717:44;:::i;12107:184::-;-1:-1:-1;;;12156:1:230;12149:88;12256:4;12253:1;12246:15;12280:4;12277:1;12270:15;13410:407;13493:5;13533;13527:12;13575:4;13568:5;13564:16;13558:23;13600:66;13692:2;13688;13684:11;13675:20;;13718:1;13710:6;13707:13;13704:107;;;13798:2;13792;13782:6;13779:1;13775:14;13772:1;13768:22;13764:31;13760:2;13756:40;13752:49;13743:58;;13704:107;;;;13410:407;;;:::o;14075:439::-;14128:3;14166:5;14160:12;14193:6;14188:3;14181:19;14219:4;14248;14243:3;14239:14;14232:21;;14287:4;14280:5;14276:16;14310:1;14320:169;14334:6;14331:1;14328:13;14320:169;;;14395:13;;14383:26;;14429:12;;;;14464:15;;;;14356:1;14349:9;14320:169;;;-1:-1:-1;14505:3:230;;14075:439;-1:-1:-1;;;;;14075:439:230:o;14519:468::-;14819:6;14808:9;14801:25;14862:2;14857;14846:9;14842:18;14835:30;14782:4;14882:56;14934:2;14923:9;14919:18;14911:6;14882:56;:::i;:::-;14874:64;;14974:6;14969:2;14958:9;14954:18;14947:34;14519:468;;;;;;:::o;14992:655::-;15134:6;15142;15150;15203:2;15191:9;15182:7;15178:23;15174:32;15171:52;;;15219:1;15216;15209:12;15171:52;15252:9;15246:16;15281:18;15322:2;15314:6;15311:14;15308:34;;;15338:1;15335;15328:12;15308:34;15361:60;15413:7;15404:6;15393:9;15389:22;15361:60;:::i;:::-;15351:70;;15461:2;15450:9;15446:18;15440:25;15430:35;;15511:2;15500:9;15496:18;15490:25;15474:41;;15540:2;15530:8;15527:16;15524:36;;;15556:1;15553;15546:12;15524:36;;15579:62;15633:7;15622:8;15611:9;15607:24;15579:62;:::i;15652:709::-;16022:6;16011:9;16004:25;16065:3;16060:2;16049:9;16045:18;16038:31;15985:4;16092:57;16144:3;16133:9;16129:19;16121:6;16092:57;:::i;:::-;16197:4;16189:6;16185:17;16180:2;16169:9;16165:18;16158:45;16251:9;16243:6;16239:22;16234:2;16223:9;16219:18;16212:50;16279:32;16304:6;16296;16279:32;:::i;:::-;16271:40;;;16348:6;16342:3;16331:9;16327:19;16320:35;15652:709;;;;;;;;:::o;16366:548::-;16690:6;16679:9;16672:25;16733:3;16728:2;16717:9;16713:18;16706:31;16653:4;16754:57;16806:3;16795:9;16791:19;16783:6;16754:57;:::i;:::-;16859:4;16847:17;;;;16842:2;16827:18;;16820:45;-1:-1:-1;16896:2:230;16881:18;16874:34;16746:65;16366:548;-1:-1:-1;;16366:548:230:o;16919:184::-;16989:6;17042:2;17030:9;17021:7;17017:23;17013:32;17010:52;;;17058:1;17055;17048:12;17010:52;-1:-1:-1;17081:16:230;;16919:184;-1:-1:-1;16919:184:230:o;17108:707::-;17455:6;17450:3;17443:19;17492:6;17487:2;17482:3;17478:12;17471:28;17508:37;17538:6;17508:37;:::i;:::-;17579:3;17575:16;;;;17570:2;17561:12;;17554:38;17617:2;17608:12;;17601:28;;;;17654:2;17645:12;;17638:28;;;;17691:3;17682:13;;17675:29;17729:3;17720:13;;17713:29;17767:3;17758:13;;17751:29;17805:3;17796:13;;17108:707;-1:-1:-1;;17108:707:230:o;17820:794::-;18215:6;18204:9;18197:25;18258:3;18253:2;18242:9;18238:18;18231:31;18178:4;18285:57;18337:3;18326:9;18322:19;18314:6;18285:57;:::i;:::-;18390:9;18382:6;18378:22;18373:2;18362:9;18358:18;18351:50;18424:32;18449:6;18441;18424:32;:::i;:::-;18410:46;;18492:6;18487:2;18476:9;18472:18;18465:34;18548:9;18540:6;18536:22;18530:3;18519:9;18515:19;18508:51;18576:32;18601:6;18593;18576:32;:::i;:::-;18568:40;17820:794;-1:-1:-1;;;;;;;;17820:794:230:o;18619:175::-;18656:3;18700:4;18693:5;18689:16;18729:4;18720:7;18717:17;18714:43;;18737:18;;:::i;:::-;18786:1;18773:15;;18619:175;-1:-1:-1;;18619:175:230:o;18799:604::-;19108:6;19097:9;19090:25;19151:3;19146:2;19135:9;19131:18;19124:31;19071:4;19178:57;19230:3;19219:9;19215:19;19207:6;19178:57;:::i;:::-;19283:4;19275:6;19271:17;19266:2;19255:9;19251:18;19244:45;19337:9;19329:6;19325:22;19320:2;19309:9;19305:18;19298:50;19365:32;19390:6;19382;19365:32;:::i;:::-;19357:40;18799:604;-1:-1:-1;;;;;;;18799:604:230:o;19735:128::-;19802:9;;;19823:11;;;19820:37;;;19837:18;;:::i;19868:168::-;19941:9;;;19972;;19989:15;;;19983:22;;19969:37;19959:71;;20010:18;;:::i;20041:640::-;20292:6;20287:3;20280:19;20262:3;20318:2;20351;20346:3;20342:12;20383:6;20377:13;20448:2;20440:6;20436:15;20469:1;20479:175;20493:6;20490:1;20487:13;20479:175;;;20556:13;;20542:28;;20592:14;;;;20629:15;;;;20515:1;20508:9;20479:175;;;-1:-1:-1;20670:5:230;;20041:640;-1:-1:-1;;;;;;;20041:640:230:o;20686:184::-;-1:-1:-1;;;20735:1:230;20728:88;20835:4;20832:1;20825:15;20859:4;20856:1;20849:15;20875:511;21126:2;21115:9;21108:21;21089:4;21152:56;21204:2;21193:9;21189:18;21181:6;21152:56;:::i;:::-;21256:14;21248:6;21244:27;21239:2;21228:9;21224:18;21217:55;21320:9;21312:6;21308:22;21303:2;21292:9;21288:18;21281:50;21348:32;21373:6;21365;21348:32;:::i;21391:616::-;21702:6;21691:9;21684:25;21745:3;21740:2;21729:9;21725:18;21718:31;21665:4;21772:57;21824:3;21813:9;21809:19;21801:6;21772:57;:::i;:::-;21877:14;21869:6;21865:27;21860:2;21849:9;21845:18;21838:55;21941:9;21933:6;21929:22;21924:2;21913:9;21909:18;21902:50;21969:32;21994:6;21986;21969:32;:::i;22012:925::-;22461:66;22453:6;22449:79;22444:3;22437:92;22419:3;22548;22580:2;22576:1;22571:3;22567:11;22560:23;22612:6;22606:13;22628:74;22695:6;22691:1;22686:3;22682:11;22675:4;22667:6;22663:17;22628:74;:::i;:::-;22730:6;22725:3;22721:16;22711:26;;22765:2;22761:1;22757:2;22753:10;22746:22;22799:6;22793:13;22777:29;;22815:75;22881:8;22877:1;22873:2;22869:10;22862:4;22854:6;22850:17;22815:75;:::i;:::-;22910:17;22929:1;22906:25;;22012:925;-1:-1:-1;;;;;22012:925:230:o;22942:339::-;23119:2;23108:9;23101:21;23082:4;23139:44;23179:2;23168:9;23164:18;23156:6;23139:44;:::i;:::-;23131:52;;-1:-1:-1;;;;;23223:6:230;23219:55;23214:2;23203:9;23199:18;23192:83;22942:339;;;;;:::o;23286:287::-;23415:3;23453:6;23447:13;23469:66;23528:6;23523:3;23516:4;23508:6;23504:17;23469:66;:::i;:::-;23551:16;;;;;23286:287;-1:-1:-1;;23286:287:230:o;23578:690::-;23913:3;23902:9;23895:22;23876:4;23940:57;23992:3;23981:9;23977:19;23969:6;23940:57;:::i;:::-;24045:9;24037:6;24033:22;24028:2;24017:9;24013:18;24006:50;24079:32;24104:6;24096;24079:32;:::i;:::-;24065:46;;24147:6;24142:2;24131:9;24127:18;24120:34;24202:9;24194:6;24190:22;24185:2;24174:9;24170:18;24163:50;24230:32;24255:6;24247;24230:32;:::i;24273:899::-;24729:6;24718:9;24711:25;24772:3;24767:2;24756:9;24752:18;24745:31;24692:4;24799:57;24851:3;24840:9;24836:19;24828:6;24799:57;:::i;:::-;24904:9;24896:6;24892:22;24887:2;24876:9;24872:18;24865:50;24938:32;24963:6;24955;24938:32;:::i;:::-;24924:46;;25006:6;25001:2;24990:9;24986:18;24979:34;25062:9;25054:6;25050:22;25044:3;25033:9;25029:19;25022:51;25090:32;25115:6;25107;25090:32;:::i;:::-;25082:40;;;25159:6;25153:3;25142:9;25138:19;25131:35;24273:899;;;;;;;;;:::o;25396:464::-;25643:66;25635:6;25631:79;25620:9;25613:98;25747:6;25742:2;25731:9;25727:18;25720:34;25790:2;25785;25774:9;25770:18;25763:30;25594:4;25810:44;25850:2;25839:9;25835:18;25827:6;25810:44;:::i;25865:174::-;25932:12;25964:10;;;25976;;;25960:27;;25999:11;;;25996:37;;;26013:18;;:::i;:::-;25996:37;25865:174;;;;:::o;26691:901::-;27116:6;27105:9;27098:25;27159:3;27154:2;27143:9;27139:18;27132:31;27079:4;27186:57;27238:3;27227:9;27223:19;27215:6;27186:57;:::i;:::-;27291:4;27279:17;;27274:2;27259:18;;27252:45;27316:12;27364:15;;;27359:2;27344:18;;27337:43;27417:15;;27411:3;27396:19;;27389:44;27464:3;27449:19;;27442:35;;;27514:22;;;27508:3;27493:19;;27486:51;27554:32;27518:6;27571;27554:32;:::i;:::-;27546:40;26691:901;-1:-1:-1;;;;;;;;;;26691:901:230:o;27597:788::-;27962:3;27951:9;27944:22;27925:4;27989:57;28041:3;28030:9;28026:19;28018:6;27989:57;:::i;:::-;28094:4;28086:6;28082:17;28077:2;28066:9;28062:18;28055:45;28148:14;28140:6;28136:27;28131:2;28120:9;28116:18;28109:55;28212:12;28204:6;28200:25;28195:2;28184:9;28180:18;28173:53;28263:6;28257:3;28246:9;28242:19;28235:35;28319:9;28311:6;28307:22;28301:3;28290:9;28286:19;28279:51;28347:32;28372:6;28364;28347:32;:::i;:::-;28339:40;27597:788;-1:-1:-1;;;;;;;;;27597:788:230:o;28650:530::-;28835:3;28873:6;28867:13;28889:66;28948:6;28943:3;28936:4;28928:6;28924:17;28889:66;:::i;:::-;29024:2;29020:15;;;;-1:-1:-1;;29016:88:230;28977:16;;;;29002:103;;;29132:2;29121:14;;29114:30;;;;29171:2;29160:14;;28650:530;-1:-1:-1;;28650:530:230:o;29469:359::-;29672:2;29661:9;29654:21;29635:4;29692:44;29732:2;29721:9;29717:18;29709:6;29692:44;:::i;:::-;29767:2;29752:18;;29745:34;;;;-1:-1:-1;29810:2:230;29795:18;29788:34;29684:52;29469:359;-1:-1:-1;29469:359:230:o",
- "linkReferences": {}
- },
- "methodIdentifiers": {
- "_msgSender()": "119df25f",
- "_msgValue()": "45ec9354",
- "_world()": "e1af802c",
- "enterGame(bytes32)": "c74dedc8",
- "getCharacterTokenId(bytes32)": "f8c67561",
- "getClass(bytes32)": "23801570",
- "getCurrentAvailableLevel(uint256)": "1ecb393f",
- "getExperience(bytes32)": "ebee03bb",
- "getName(bytes32)": "54b8d5e3",
- "getOwner(bytes32)": "deb931a2",
- "getOwnerAddress(bytes32)": "00d43ec6",
- "getPlayerEntityId(uint256)": "8338f0e0",
- "getStats(bytes32)": "0bb700dc",
- "isValidCharacterId(bytes32)": "623daa05",
- "isValidOwner(bytes32,address)": "9b63ec05",
- "mintCharacter(address,bytes32,string)": "143f3021",
- "rollStats(bytes32,bytes32,uint8)": "679ee16d",
- "supportsInterface(bytes4)": "01ffc9a7",
- "updateTokenUri(bytes32,string)": "b27cbcbb"
- },
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465\",\"dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}",
- "metadata": {
- "compiler": {
- "version": "0.8.24+commit.e11b9ed9"
- },
- "language": "Solidity",
- "output": {
- "abi": [
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "length",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "EncodedLengths_InvalidLength"
- },
- {
- "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": "uint256",
- "name": "length",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "accessedIndex",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_IndexOutOfBounds"
- },
- {
- "inputs": [
- {
- "internalType": "bytes2",
- "name": "expected",
- "type": "bytes2"
- },
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "Store_InvalidResourceType"
- },
- {
- "inputs": [
- {
- "internalType": "uint40",
- "name": "startWithinField",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "fieldLength",
- "type": "uint40"
- }
- ],
- "type": "error",
- "name": "Store_InvalidSplice"
- },
- {
- "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": "bytes",
- "name": "staticData",
- "type": "bytes",
- "indexed": false
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SetRecord",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "indexed": false
- },
- {
- "internalType": "uint48",
- "name": "start",
- "type": "uint48",
- "indexed": false
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40",
- "indexed": false
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SpliceDynamicData",
- "anonymous": false
- },
- {
- "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": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "enterGame"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "getCharacterTokenId",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getClass",
- "outputs": [
- {
- "internalType": "enum Classes",
- "name": "_class",
- "type": "uint8"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getCurrentAvailableLevel",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "currentLevel",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getExperience",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getName",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "_name",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getOwner",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "getOwnerAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterTokenId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getPlayerEntityId",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getStats",
- "outputs": [
- {
- "internalType": "struct StatsData",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256",
- "name": "strength",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "agility",
- "type": "uint256"
- },
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "intelligence",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "baseHitPoints",
- "type": "uint256"
- },
- {
- "internalType": "int256",
- "name": "currentHp",
- "type": "int256"
- },
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "level",
- "type": "uint256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "isValidCharacterId",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "isValidOwner",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "name",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "tokenUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "mintCharacter",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "userRandomNumber",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- }
- ],
- "stateMutability": "payable",
- "type": "function",
- "name": "rollStats"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "supportsInterface",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "tokenUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "updateTokenUri"
- }
- ],
- "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."
- }
- },
- "getOwnerAddress(bytes32)": {
- "details": "extracts the character nft owner address from the character Id"
- },
- "mintCharacter(address,bytes32,string)": {
- "params": {
- "account": "the address of the account that will own the character",
- "name": "the keccack256 hash of the characters name to check for duplicates",
- "tokenUri": "the token uri to be set for the character token"
- },
- "returns": {
- "characterId": "the bytes32 character id combination of the owner address and the tokenId"
- }
- },
- "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": [
- "@codegen/=src/codegen/",
- "@erc1155/=lib/ERC1155-puppet/",
- "@interfaces/=src/interfaces/",
- "@latticexyz/=node_modules/@latticexyz/",
- "@libraries/=src/libraries/",
- "@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/",
- "@openzeppelin/=node_modules/@openzeppelin/contracts/",
- "@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/",
- "@systems/=src/systems/",
- "@tables/=src/codegen/tables/",
- "@test/=test/",
- "@world/=src/codegen/world/",
- "ERC1155-puppet/=lib/ERC1155-puppet/",
- "ds-test/=node_modules/ds-test/src/",
- "forge-std/=node_modules/forge-std/src/"
- ],
- "optimizer": {
- "enabled": true,
- "runs": 3000
- },
- "metadata": {
- "bytecodeHash": "ipfs"
- },
- "compilationTarget": {
- "src/systems/CharacterSystem.sol": "CharacterSystem"
- },
- "evmVersion": "paris",
- "libraries": {}
- },
- "sources": {
- "constants.sol": {
- "keccak256": "0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059",
- "urls": [
- "bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c",
- "dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"
- ],
- "license": "MIT"
- },
- "lib/ERC1155-puppet/IERC1155System.sol": {
- "keccak256": "0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74",
- "urls": [
- "bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c",
- "dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"
- ],
- "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": "0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8",
- "urls": [
- "bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35",
- "dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/EncodedLengths.sol": {
- "keccak256": "0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774",
- "urls": [
- "bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09",
- "dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/FieldLayout.sol": {
- "keccak256": "0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658",
- "urls": [
- "bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7",
- "dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Hook.sol": {
- "keccak256": "0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e",
- "urls": [
- "bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3",
- "dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IERC165.sol": {
- "keccak256": "0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927",
- "urls": [
- "bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2",
- "dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol": {
- "keccak256": "0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa",
- "urls": [
- "bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba",
- "dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol": {
- "keccak256": "0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53",
- "urls": [
- "bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817",
- "dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ISchemaErrors.sol": {
- "keccak256": "0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441",
- "urls": [
- "bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d",
- "dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ISliceErrors.sol": {
- "keccak256": "0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c",
- "urls": [
- "bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883",
- "dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStore.sol": {
- "keccak256": "0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706",
- "urls": [
- "bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc",
- "dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreErrors.sol": {
- "keccak256": "0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912",
- "urls": [
- "bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6",
- "dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreEvents.sol": {
- "keccak256": "0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a",
- "urls": [
- "bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08",
- "dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreHook.sol": {
- "keccak256": "0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4",
- "urls": [
- "bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562",
- "dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreKernel.sol": {
- "keccak256": "0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89",
- "urls": [
- "bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0",
- "dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreRead.sol": {
- "keccak256": "0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b",
- "urls": [
- "bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db",
- "dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreRegistration.sol": {
- "keccak256": "0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b",
- "urls": [
- "bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a",
- "dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreWrite.sol": {
- "keccak256": "0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba",
- "urls": [
- "bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890",
- "dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Memory.sol": {
- "keccak256": "0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811",
- "urls": [
- "bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392",
- "dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ResourceId.sol": {
- "keccak256": "0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2",
- "urls": [
- "bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0",
- "dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Schema.sol": {
- "keccak256": "0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7",
- "urls": [
- "bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3",
- "dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Slice.sol": {
- "keccak256": "0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345",
- "urls": [
- "bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4",
- "dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Storage.sol": {
- "keccak256": "0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3",
- "urls": [
- "bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee",
- "dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/StoreCore.sol": {
- "keccak256": "0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861",
- "urls": [
- "bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2",
- "dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
- "keccak256": "0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40",
- "urls": [
- "bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91",
- "dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/index.sol": {
- "keccak256": "0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85",
- "urls": [
- "bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4",
- "dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol": {
- "keccak256": "0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394",
- "urls": [
- "bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53",
- "dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol": {
- "keccak256": "0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64",
- "urls": [
- "bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905",
- "dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol": {
- "keccak256": "0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c",
- "urls": [
- "bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6",
- "dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/Tables.sol": {
- "keccak256": "0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09",
- "urls": [
- "bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc",
- "dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/constants.sol": {
- "keccak256": "0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6",
- "urls": [
- "bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168",
- "dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/rightMask.sol": {
- "keccak256": "0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275",
- "urls": [
- "bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754",
- "dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/storeHookTypes.sol": {
- "keccak256": "0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572",
- "urls": [
- "bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3",
- "dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/storeResourceTypes.sol": {
- "keccak256": "0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261",
- "urls": [
- "bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586",
- "dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol": {
- "keccak256": "0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152",
- "urls": [
- "bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e",
- "dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol": {
- "keccak256": "0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3",
- "urls": [
- "bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea",
- "dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol": {
- "keccak256": "0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8",
- "urls": [
- "bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3",
- "dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/version.sol": {
- "keccak256": "0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a",
- "urls": [
- "bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a",
- "dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol": {
- "keccak256": "0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1",
- "urls": [
- "bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b",
- "dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol": {
- "keccak256": "0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e",
- "urls": [
- "bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16",
- "dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol": {
- "keccak256": "0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903",
- "urls": [
- "bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47",
- "dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol": {
- "keccak256": "0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13",
- "urls": [
- "bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2",
- "dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol": {
- "keccak256": "0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa",
- "urls": [
- "bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733",
- "dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol": {
- "keccak256": "0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d",
- "urls": [
- "bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c",
- "dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol": {
- "keccak256": "0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7",
- "urls": [
- "bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3",
- "dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol": {
- "keccak256": "0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5",
- "urls": [
- "bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c",
- "dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol": {
- "keccak256": "0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542",
- "urls": [
- "bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a",
- "dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol": {
- "keccak256": "0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7",
- "urls": [
- "bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9",
- "dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/AccessControl.sol": {
- "keccak256": "0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e",
- "urls": [
- "bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899",
- "dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IERC165.sol": {
- "keccak256": "0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d",
- "urls": [
- "bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7",
- "dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IModule.sol": {
- "keccak256": "0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57",
- "urls": [
- "bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2",
- "dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IModuleErrors.sol": {
- "keccak256": "0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d",
- "urls": [
- "bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea",
- "dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/ISystemHook.sol": {
- "keccak256": "0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721",
- "urls": [
- "bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f",
- "dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldContextConsumer.sol": {
- "keccak256": "0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299",
- "urls": [
- "bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255",
- "dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldErrors.sol": {
- "keccak256": "0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b",
- "urls": [
- "bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf",
- "dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldEvents.sol": {
- "keccak256": "0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243",
- "urls": [
- "bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57",
- "dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldKernel.sol": {
- "keccak256": "0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b",
- "urls": [
- "bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092",
- "dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/System.sol": {
- "keccak256": "0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd",
- "urls": [
- "bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f",
- "dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/SystemCall.sol": {
- "keccak256": "0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af",
- "urls": [
- "bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5",
- "dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/WorldContext.sol": {
- "keccak256": "0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9",
- "urls": [
- "bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e",
- "dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/WorldResourceId.sol": {
- "keccak256": "0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee",
- "urls": [
- "bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea",
- "dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol": {
- "keccak256": "0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc",
- "urls": [
- "bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48",
- "dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol": {
- "keccak256": "0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4",
- "urls": [
- "bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83",
- "dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol": {
- "keccak256": "0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17",
- "urls": [
- "bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81",
- "dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol": {
- "keccak256": "0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c",
- "urls": [
- "bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2",
- "dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol": {
- "keccak256": "0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35",
- "urls": [
- "bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b",
- "dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol": {
- "keccak256": "0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800",
- "urls": [
- "bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c",
- "dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol": {
- "keccak256": "0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c",
- "urls": [
- "bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27",
- "dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/Balances.sol": {
- "keccak256": "0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d",
- "urls": [
- "bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a",
- "dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol": {
- "keccak256": "0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926",
- "urls": [
- "bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791",
- "dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol": {
- "keccak256": "0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614",
- "urls": [
- "bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597",
- "dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol": {
- "keccak256": "0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc",
- "urls": [
- "bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e",
- "dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol": {
- "keccak256": "0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f",
- "urls": [
- "bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674",
- "dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol": {
- "keccak256": "0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493",
- "urls": [
- "bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab",
- "dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/Systems.sol": {
- "keccak256": "0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c",
- "urls": [
- "bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7",
- "dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"
- ],
- "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/types.sol": {
- "keccak256": "0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc",
- "urls": [
- "bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525",
- "dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/revertWithBytes.sol": {
- "keccak256": "0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5",
- "urls": [
- "bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359",
- "dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/systemHookTypes.sol": {
- "keccak256": "0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a",
- "urls": [
- "bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d",
- "dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/worldResourceTypes.sol": {
- "keccak256": "0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465",
- "urls": [
- "bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea",
- "dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"
- ],
- "license": "MIT"
- },
- "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol": {
- "keccak256": "0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504",
- "urls": [
- "bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67",
- "dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"
- ],
- "license": "Apache-2.0"
- },
- "node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol": {
- "keccak256": "0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7",
- "urls": [
- "bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415",
- "dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"
- ],
- "license": "Apache 2"
- },
- "node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol": {
- "keccak256": "0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748",
- "urls": [
- "bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd",
- "dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"
- ],
- "license": "Apache 2"
- },
- "node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol": {
- "keccak256": "0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379",
- "urls": [
- "bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952",
- "dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"
- ],
- "license": "Apache 2"
- },
- "node_modules/forge-std/src/console2.sol": {
- "keccak256": "0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea",
- "urls": [
- "bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973",
- "dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"
- ],
- "license": "MIT"
- },
- "src/codegen/common.sol": {
- "keccak256": "0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42",
- "urls": [
- "bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085",
- "dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"
- ],
- "license": "MIT"
- },
- "src/codegen/index.sol": {
- "keccak256": "0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0",
- "urls": [
- "bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2",
- "dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Actions.sol": {
- "keccak256": "0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef",
- "urls": [
- "bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392",
- "dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Admin.sol": {
- "keccak256": "0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725",
- "urls": [
- "bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614",
- "dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CharacterEquipment.sol": {
- "keccak256": "0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32",
- "urls": [
- "bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2",
- "dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Characters.sol": {
- "keccak256": "0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98",
- "urls": [
- "bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893",
- "dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CombatEncounter.sol": {
- "keccak256": "0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696",
- "urls": [
- "bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405",
- "dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Counters.sol": {
- "keccak256": "0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d",
- "urls": [
- "bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8",
- "dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/EntitiesAtPosition.sol": {
- "keccak256": "0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501",
- "urls": [
- "bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4",
- "dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Items.sol": {
- "keccak256": "0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f",
- "urls": [
- "bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f",
- "dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Levels.sol": {
- "keccak256": "0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327",
- "urls": [
- "bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4",
- "dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MapConfig.sol": {
- "keccak256": "0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27",
- "urls": [
- "bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3",
- "dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MatchEntity.sol": {
- "keccak256": "0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2",
- "urls": [
- "bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b",
- "dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Mobs.sol": {
- "keccak256": "0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3",
- "urls": [
- "bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060",
- "dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MobsByLevel.sol": {
- "keccak256": "0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d",
- "urls": [
- "bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5",
- "dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Name.sol": {
- "keccak256": "0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99",
- "urls": [
- "bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4",
- "dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/NameExists.sol": {
- "keccak256": "0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab",
- "urls": [
- "bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf",
- "dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Position.sol": {
- "keccak256": "0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d",
- "urls": [
- "bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa",
- "dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/RandomNumbers.sol": {
- "keccak256": "0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22",
- "urls": [
- "bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5",
- "dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Spawned.sol": {
- "keccak256": "0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c",
- "urls": [
- "bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905",
- "dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/StarterItems.sol": {
- "keccak256": "0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3",
- "urls": [
- "bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3",
- "dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Stats.sol": {
- "keccak256": "0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891",
- "urls": [
- "bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227",
- "dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/UltimateDominionConfig.sol": {
- "keccak256": "0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58",
- "urls": [
- "bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9",
- "dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IActionSystem.sol": {
- "keccak256": "0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d",
- "urls": [
- "bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f",
- "dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ICharacterSystem.sol": {
- "keccak256": "0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235",
- "urls": [
- "bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782",
- "dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ICombatSystem.sol": {
- "keccak256": "0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09",
- "urls": [
- "bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947",
- "dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IEquipmentSystem.sol": {
- "keccak256": "0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3",
- "urls": [
- "bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa",
- "dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IItemsSystem.sol": {
- "keccak256": "0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b",
- "urls": [
- "bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b",
- "dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ILootManagerSystem.sol": {
- "keccak256": "0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864",
- "urls": [
- "bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0",
- "dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IMapSystem.sol": {
- "keccak256": "0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80",
- "urls": [
- "bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e",
- "dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IMobSystem.sol": {
- "keccak256": "0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391",
- "urls": [
- "bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c",
- "dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IUltimateDominionConfigSystem.sol": {
- "keccak256": "0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f",
- "urls": [
- "bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56",
- "dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IWorld.sol": {
- "keccak256": "0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4",
- "urls": [
- "bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64",
- "dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"
- ],
- "license": "MIT"
- },
- "src/interfaces/IRngSystem.sol": {
- "keccak256": "0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0",
- "urls": [
- "bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02",
- "dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"
- ],
- "license": "MIT"
- },
- "src/interfaces/Structs.sol": {
- "keccak256": "0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de",
- "urls": [
- "bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5",
- "dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"
- ],
- "license": "MIT"
- },
- "src/libraries/LibChunks.sol": {
- "keccak256": "0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767",
- "urls": [
- "bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9",
- "dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"
- ],
- "license": "MIT"
- },
- "src/systems/CharacterSystem.sol": {
- "keccak256": "0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488",
- "urls": [
- "bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465",
- "dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN"
- ],
- "license": "MIT"
- },
- "src/utils.sol": {
- "keccak256": "0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc",
- "urls": [
- "bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57",
- "dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"
- ],
- "license": "MIT"
- }
- },
- "version": 1
- },
- "id": 212
-}
\ No newline at end of file
+{"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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061497d806100206000396000f3fe6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e65060001141414141400000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea26469706673582212205c1861d323ad8a0004b311ef7f75024cde0dfa48823ac2e8e54f579ec3be1e0364736f6c63430008180033","sourceMap":"1812:6250:211:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e65060001141414141400000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea26469706673582212205c1861d323ad8a0004b311ef7f75024cde0dfa48823ac2e8e54f579ec3be1e0364736f6c63430008180033","sourceMap":"1812:6250:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:211;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:228;;;345:74;;333:2;318:18;2973:144:211;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:228;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:228;7936:124:211;;;;;;;;;;-1:-1:-1;7936:124:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;4111:837:211:-;;;;;;;;;;-1:-1:-1;4111:837:211;;;;;:::i;:::-;;:::i;:::-;;;4284:25:228;;;4272:2;4257:18;4111:837:211;4138:177:228;6106:492:211;;;;;;;;;;-1:-1:-1;6106:492:211;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:211;;;;;;;;;;-1:-1:-1;1853:130:211;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:211;;;;;:::i;:::-;;:::i;4954:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:211;;;;;:::i;:::-;;:::i;3542:212::-;;;;;;;;;;-1:-1:-1;3542:212:211;;;;;:::i;:::-;;:::i;6604:219::-;;;;;;;;;;-1:-1:-1;6604:219:211;;;;;:::i;:::-;;:::i;5505:595::-;;;;;;;;;;-1:-1:-1;5505:595:211;;;;;:::i;:::-;;:::i;7669:125::-;;;;;;;;;;-1:-1:-1;7669:125:211;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7800:130:211:-;;;;;;;;;;-1:-1:-1;7800:130:211;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:211;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7936:124:211:-;7996:16;;:::i;:::-;8031:22;8041:11;8031:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;4111:837:211:-;4221:19;4256:24;4283:28;:26;:28::i;:::-;4256:55;-1:-1:-1;4348:16:211;4329:35;;4321:83;;;;-1:-1:-1;;;4321:83:211;;6255:2:228;4321:83:211;;;6237:21:228;6294:2;6274:18;;;6267:30;6333:34;6313:18;;;6306:62;6404:5;6384:18;;;6377:33;6427:19;;4321:83:211;;;;;;;;;4421:8;:6;:8::i;:::-;-1:-1:-1;;;;;4414:21:211;;4449:37;4465:20;4449:15;:37::i;:::-;4488:65;;-1:-1:-1;;;;;6649:55:228;;4488:65:211;;;6631:74:228;6721:18;;;6714:34;;;6604:18;;4488:65:211;;;-1:-1:-1;;4488:65:211;;;;;;;;;;;;;;;;;;;;4414:149;;4488:65;4414:149;;;;;;;;;4488:65;4414:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4414:149:211;;;;;;;;;;;;:::i;:::-;;4587:35;4605:16;4587:17;:35::i;:::-;4573:49;;4632:41;4652:11;4665:7;4632:19;:41::i;:::-;4683:52;4705:11;4718:16;4683:21;:52::i;:::-;4754:25;4774:4;4754:19;:25::i;:::-;4753:26;4745:58;;;;-1:-1:-1;;;4745:58:211;;8662:2:228;4745:58:211;;;8644:21:228;8701:2;8681:18;;;8674:30;8740:21;8720:18;;;8713:49;8779:18;;4745:58:211;8460:343:228;4745:58:211;4813:31;4833:4;4839;4813:19;:31::i;:::-;4854:37;4873:11;4886:4;4854:18;:37::i;:::-;4901:40;4914:16;4932:8;4901:12;:40::i;:::-;4246:702;4111:837;;;;;:::o;6106:492::-;6181:20;6231:14;6242:2;6231:10;:14::i;:::-;6217:10;:28;6213:379;;-1:-1:-1;6276:2:211;6106:492;;;:::o;6213:379::-;6314:9;6309:273;6329:2;6325:1;:6;6309:273;;;6373:10;6356:13;6367:1;6356:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6407:10:211;6387:17;6398:5;:1;6402;6398:5;:::i;:::-;6387:10;:17::i;:::-;:30;6356:61;6352:155;;;6456:5;:1;6460;6456:5;:::i;:::-;6441:20;;6483:5;;6352:155;6546:3;;;;:::i;:::-;;;;6309:273;;;;6106:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:211;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:211;;3385:7;3359:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3359:34:211;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:211;;;;;;;;-1:-1:-1;;3359:34:211;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:211;;3462:7;3436:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3436:34:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:211;:7;-1:-1:-1;;;;;3506:23:211;;3499:30;;;;;3123:413;;;:::o;4954:545::-;5069:33;5090:11;5069:20;:33::i;:::-;5068:34;5060:90;;;;-1:-1:-1;;;5060:90:211;;9785:2:228;5060:90:211;;;9767:21:228;9824:2;9804:18;;;9797:30;9863:34;9843:18;;;9836:62;9934:13;9914:18;;;9907:41;9965:19;;5060:90:211;9583:407:228;5060:90:211;5168:21;5177:11;5168:8;:21::i;:::-;5160:53;;;;-1:-1:-1;;;5160:53:211;;10197:2:228;5160:53:211;;;10179:21:228;10236:2;10216:18;;;10209:30;10275:21;10255:18;;;10248:49;10314:18;;5160:53:211;9995:343:228;5160:53:211;5223:26;5291:34;5306:11;5319:5;5291:14;:34::i;:::-;5382:110;5435:16;5453:11;5477;5466:23;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5466:23:211;;;;-1:-1:-1;;5466:23:211;;;;;;;;;;5400:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5400:91:211;;;;;;;;;;;;;;;;;;;;5382:17;:110::i;:::-;;5050:449;4954:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:211;;2614:16;2588:43;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;2588:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:211;:55;;;;;;-1:-1:-1;;2460:266:211:o;3542:212::-;3621:4;3644:31;3663:11;3644:18;:31::i;:::-;:103;;;;;3742:5;-1:-1:-1;;;;;3679:68:211;:17;:15;:17::i;:::-;:59;;;;;2830:37;;;3679:59;;;4284:25:228;-1:-1:-1;;;;;3679:25:211;;;;;;;4257:18:228;;3679:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3679:68:211;;3644:103;3637:110;3542:212;-1:-1:-1;;;3542:212:211:o;6604:219::-;6698:21;6707:11;6698:8;:21::i;:::-;6690:60;;;;-1:-1:-1;;;6690:60:211;;10974:2:228;6690:60:211;;;10956:21:228;11013:2;10993:18;;;10986:30;11052:28;11032:18;;;11025:56;11098:18;;6690:60:211;10772:350:228;6690:60:211;6760:56;2830:37;;;6807:8;6760:12;:56::i;:::-;6604:219;;:::o;5505:595::-;5570:21;5579:11;5570:8;:21::i;:::-;5562:52;;;;-1:-1:-1;;;5562:52:211;;11329:2:228;5562:52:211;;;11311:21:228;11368:2;11348:18;;;11341:30;11407:20;11387:18;;;11380:48;11445:18;;5562:52:211;11127:342:228;5562:52:211;5633:33;5654:11;5633:20;:33::i;:::-;5632:34;5624:72;;;;-1:-1:-1;;;5624:72:211;;11676:2:228;5624:72:211;;;11658:21:228;11715:2;11695:18;;;11688:30;11754:27;11734:18;;;11727:55;11799:18;;5624:72:211;11474:349:228;5624:72:211;5706:26;5735:22;5745:11;5735:9;:22::i;:::-;5785:1;5767:15;;;:19;5825:23;;;;5796:19;;;:53;5706:51;-1:-1:-1;5859:33:211;5869:11;5706:51;5859:9;:33::i;:::-;5909:8;:6;:8::i;:::-;5902:51;;;;;;;;12028:25:228;;;5945:7:211;12069:18:228;;;12062:34;-1:-1:-1;;;;;5902:29:211;;;;;;;12001:18:228;;5902:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:8;:6;:8::i;:::-;-1:-1:-1;;;;;5993:38:211;;6032:11;5993:51;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5993:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6054:39;6075:11;6088:4;6054:20;:39::i;7669:125::-;7729:7;7755:32;7775:11;7755:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7800:130:211:-;7865:7;7891:32;7911:11;7891:19;:32::i;13270:402:194:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:194;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:194:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;7003:347:211:-;7059:7;7078:25;7106:42;:40;:42::i;:::-;7078:70;;7158:24;7185:50;7213:17;7233:1;7185:19;:50::i;:::-;:54;;7238:1;7185:54;:::i;:::-;7158:81;;7249:61;7269:17;7288:1;7292:16;7249:19;:61::i;1157:186:219:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:178:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:178;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12445:2:228;12441:15;;;;-1:-1:-1;;12437:88:228;12425:101;;12551:2;12542:12;;12296:264;4934:25:178;;;;-1:-1:-1;;4934:25:178;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:178;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;2594:287:189;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:189;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:189:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:189;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12903:14:228;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4085:25:189;;;;-1:-1:-1;;4085:25:189;;;;;;;;;1198:66;4034:26;:91::i;5941:246:178:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:178;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;6829:168:211;6911:79;6932:38;6949:20;6932:16;:38::i;:::-;6972:7;6981:8;6911:20;:79::i;3297:296:183:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:183;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:183;:64::i;5624:288:194:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:194;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:194;;;;5878:29;;;;;;;;:::i;5306:279:178:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:178;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:211:-;2329:30;2404:42;:40;:42::i;6512:295:178:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:178;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7496:167:211:-;7558:4;7597:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7597:59;;;4284:25:228;-1:-1:-1;;;;;7597:25:211;;;;;;;4257:18:228;;7597:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7581:75:211;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7581:75:211;;;7496:167;-1:-1:-1;;7496:167:211:o;6279:248:194:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:194;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;13290:3:228;13286:16;;;;13304:66;13282:89;13270:102;;13397:1;13388:11;;13145:260;6477:30:194;;;;-1:-1:-1;;6477:30:194;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13966:98:228;13939:18;;3713:52:107;13822:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:194:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:194;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:194;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:178:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:178;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12903:14:228;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4071:290:178;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:178;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:178:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:194:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:194;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:194:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:194;;;;-1:-1:-1;17879:370:194;;;-1:-1:-1;;;;;17879:370:194:o;5084:257:195:-;5195:16;;;5136:22;5195:16;;;;;;;;;5218:13;5234:64;1248:66;5166:45;5282:1;1377:66;5234:26;:64::i;:::-;5312:23;;;5084:257;-1:-1:-1;;;5084:257:195:o;2640:388:180:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:180;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:180;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:180;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:180:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:180;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:180;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;4646:27:180;;;;-1:-1:-1;;4646:27:180;;;;;;;;;-1:-1:-1;;;4595:26:180;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:194:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:194:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:194;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:194;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:194;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:194;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:194;-1:-1:-1;;16961:760:194:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26250:12:228;26289:15;;;45340:92:45;;;26271:34:228;26341:15;;;26321:18;;;26314:43;26393:15;;26373:18;;;26366:43;26213:18;;45340:92:45;26044:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26593:25:228;;;26666:12;26654:25;;26634:18;;;26627:53;26566:18;;45581:74:45;26420:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28531:79:228;;2092:30:124;;;28519:92:228;2092:30:124;;28627:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29374:19:228;;;29409:12;;;29402:28;;;51337:7:45;;29446:12:228;;51494:30:45;29185:279:228;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:228;;;4257:18;;7664:67:24;4138:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:189;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:189;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:228:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:228;;14:180;-1:-1:-1;14:180:228:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:228;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:228;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:228;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:228;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:228;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:228:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:228;3037:15;-1:-1:-1;;3033:88:228;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:228:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:228;3925:18;;3912:32;;-1:-1:-1;3995:2:228;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:315::-;5406:6;5414;5467:2;5455:9;5446:7;5442:23;5438:32;5435:52;;;5483:1;5480;5473:12;5435:52;5519:9;5506:23;5496:33;;5579:2;5568:9;5564:18;5551:32;5592:31;5617:5;5592:31;:::i;:::-;5642:5;5632:15;;;5338:315;;;;;:::o;5658:390::-;5736:6;5744;5797:2;5785:9;5776:7;5772:23;5768:32;5765:52;;;5813:1;5810;5803:12;5765:52;5849:9;5836:23;5826:33;;5910:2;5899:9;5895:18;5882:32;5937:18;5929:6;5926:30;5923:50;;;5969:1;5966;5959:12;5923:50;5992;6034:7;6025:6;6014:9;6010:22;5992:50;:::i;:::-;5982:60;;;5658:390;;;;;:::o;6759:250::-;6844:1;6854:113;6868:6;6865:1;6862:13;6854:113;;;6944:11;;;6938:18;6925:11;;;6918:39;6890:2;6883:10;6854:113;;;-1:-1:-1;;7001:1:228;6983:16;;6976:27;6759:250::o;7014:329::-;7055:3;7093:5;7087:12;7120:6;7115:3;7108:19;7136:76;7205:6;7198:4;7193:3;7189:14;7182:4;7175:5;7171:16;7136:76;:::i;:::-;7257:2;7245:15;-1:-1:-1;;7241:88:228;7232:98;;;;7332:4;7228:109;;7014:329;-1:-1:-1;;7014:329:228:o;7348:320::-;7555:6;7544:9;7537:25;7598:2;7593;7582:9;7578:18;7571:30;7518:4;7618:44;7658:2;7647:9;7643:18;7635:6;7618:44;:::i;7673:442::-;7726:5;7779:3;7772:4;7764:6;7760:17;7756:27;7746:55;;7797:1;7794;7787:12;7746:55;7826:6;7820:13;7857:49;7873:32;7902:2;7873:32;:::i;7857:49::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8007:77;8081:2;8074:4;8065:7;8061:18;8054:4;8046:6;8042:17;8007:77;:::i;8120:335::-;8199:6;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8301:9;8295:16;8334:18;8326:6;8323:30;8320:50;;;8366:1;8363;8356:12;8320:50;8389:60;8441:7;8432:6;8421:9;8417:22;8389:60;:::i;8808:184::-;-1:-1:-1;;;8857:1:228;8850:88;8957:4;8954:1;8947:15;8981:4;8978:1;8971:15;8997:125;9062:9;;;9083:10;;;9080:36;;;9096:18;;:::i;9127:195::-;9166:3;-1:-1:-1;;9190:5:228;9187:77;9184:103;;9267:18;;:::i;:::-;-1:-1:-1;9314:1:228;9303:13;;9127:195::o;9327:251::-;9397:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:52;;;9466:1;9463;9456:12;9418:52;9498:9;9492:16;9517:31;9542:5;9517:31;:::i;10343:424::-;10565:6;10554:9;10547:25;10581:37;10611:6;10581:37;:::i;:::-;10654:6;10649:2;10638:9;10634:18;10627:34;10697:2;10692;10681:9;10677:18;10670:30;10528:4;10717:44;10757:2;10746:9;10742:18;10734:6;10717:44;:::i;12107:184::-;-1:-1:-1;;;12156:1:228;12149:88;12256:4;12253:1;12246:15;12280:4;12277:1;12270:15;13410:407;13493:5;13533;13527:12;13575:4;13568:5;13564:16;13558:23;13600:66;13692:2;13688;13684:11;13675:20;;13718:1;13710:6;13707:13;13704:107;;;13798:2;13792;13782:6;13779:1;13775:14;13772:1;13768:22;13764:31;13760:2;13756:40;13752:49;13743:58;;13704:107;;;;13410:407;;;:::o;14075:439::-;14128:3;14166:5;14160:12;14193:6;14188:3;14181:19;14219:4;14248;14243:3;14239:14;14232:21;;14287:4;14280:5;14276:16;14310:1;14320:169;14334:6;14331:1;14328:13;14320:169;;;14395:13;;14383:26;;14429:12;;;;14464:15;;;;14356:1;14349:9;14320:169;;;-1:-1:-1;14505:3:228;;14075:439;-1:-1:-1;;;;;14075:439:228:o;14519:468::-;14819:6;14808:9;14801:25;14862:2;14857;14846:9;14842:18;14835:30;14782:4;14882:56;14934:2;14923:9;14919:18;14911:6;14882:56;:::i;:::-;14874:64;;14974:6;14969:2;14958:9;14954:18;14947:34;14519:468;;;;;;:::o;14992:655::-;15134:6;15142;15150;15203:2;15191:9;15182:7;15178:23;15174:32;15171:52;;;15219:1;15216;15209:12;15171:52;15252:9;15246:16;15281:18;15322:2;15314:6;15311:14;15308:34;;;15338:1;15335;15328:12;15308:34;15361:60;15413:7;15404:6;15393:9;15389:22;15361:60;:::i;:::-;15351:70;;15461:2;15450:9;15446:18;15440:25;15430:35;;15511:2;15500:9;15496:18;15490:25;15474:41;;15540:2;15530:8;15527:16;15524:36;;;15556:1;15553;15546:12;15524:36;;15579:62;15633:7;15622:8;15611:9;15607:24;15579:62;:::i;15652:709::-;16022:6;16011:9;16004:25;16065:3;16060:2;16049:9;16045:18;16038:31;15985:4;16092:57;16144:3;16133:9;16129:19;16121:6;16092:57;:::i;:::-;16197:4;16189:6;16185:17;16180:2;16169:9;16165:18;16158:45;16251:9;16243:6;16239:22;16234:2;16223:9;16219:18;16212:50;16279:32;16304:6;16296;16279:32;:::i;:::-;16271:40;;;16348:6;16342:3;16331:9;16327:19;16320:35;15652:709;;;;;;;;:::o;16366:548::-;16690:6;16679:9;16672:25;16733:3;16728:2;16717:9;16713:18;16706:31;16653:4;16754:57;16806:3;16795:9;16791:19;16783:6;16754:57;:::i;:::-;16859:4;16847:17;;;;16842:2;16827:18;;16820:45;-1:-1:-1;16896:2:228;16881:18;16874:34;16746:65;16366:548;-1:-1:-1;;16366:548:228:o;16919:184::-;16989:6;17042:2;17030:9;17021:7;17017:23;17013:32;17010:52;;;17058:1;17055;17048:12;17010:52;-1:-1:-1;17081:16:228;;16919:184;-1:-1:-1;16919:184:228:o;17108:707::-;17455:6;17450:3;17443:19;17492:6;17487:2;17482:3;17478:12;17471:28;17508:37;17538:6;17508:37;:::i;:::-;17579:3;17575:16;;;;17570:2;17561:12;;17554:38;17617:2;17608:12;;17601:28;;;;17654:2;17645:12;;17638:28;;;;17691:3;17682:13;;17675:29;17729:3;17720:13;;17713:29;17767:3;17758:13;;17751:29;17805:3;17796:13;;17108:707;-1:-1:-1;;17108:707:228:o;17820:794::-;18215:6;18204:9;18197:25;18258:3;18253:2;18242:9;18238:18;18231:31;18178:4;18285:57;18337:3;18326:9;18322:19;18314:6;18285:57;:::i;:::-;18390:9;18382:6;18378:22;18373:2;18362:9;18358:18;18351:50;18424:32;18449:6;18441;18424:32;:::i;:::-;18410:46;;18492:6;18487:2;18476:9;18472:18;18465:34;18548:9;18540:6;18536:22;18530:3;18519:9;18515:19;18508:51;18576:32;18601:6;18593;18576:32;:::i;:::-;18568:40;17820:794;-1:-1:-1;;;;;;;;17820:794:228:o;18619:175::-;18656:3;18700:4;18693:5;18689:16;18729:4;18720:7;18717:17;18714:43;;18737:18;;:::i;:::-;18786:1;18773:15;;18619:175;-1:-1:-1;;18619:175:228:o;18799:604::-;19108:6;19097:9;19090:25;19151:3;19146:2;19135:9;19131:18;19124:31;19071:4;19178:57;19230:3;19219:9;19215:19;19207:6;19178:57;:::i;:::-;19283:4;19275:6;19271:17;19266:2;19255:9;19251:18;19244:45;19337:9;19329:6;19325:22;19320:2;19309:9;19305:18;19298:50;19365:32;19390:6;19382;19365:32;:::i;:::-;19357:40;18799:604;-1:-1:-1;;;;;;;18799:604:228:o;19735:128::-;19802:9;;;19823:11;;;19820:37;;;19837:18;;:::i;19868:168::-;19941:9;;;19972;;19989:15;;;19983:22;;19969:37;19959:71;;20010:18;;:::i;20041:640::-;20292:6;20287:3;20280:19;20262:3;20318:2;20351;20346:3;20342:12;20383:6;20377:13;20448:2;20440:6;20436:15;20469:1;20479:175;20493:6;20490:1;20487:13;20479:175;;;20556:13;;20542:28;;20592:14;;;;20629:15;;;;20515:1;20508:9;20479:175;;;-1:-1:-1;20670:5:228;;20041:640;-1:-1:-1;;;;;;;20041:640:228:o;20686:184::-;-1:-1:-1;;;20735:1:228;20728:88;20835:4;20832:1;20825:15;20859:4;20856:1;20849:15;20875:511;21126:2;21115:9;21108:21;21089:4;21152:56;21204:2;21193:9;21189:18;21181:6;21152:56;:::i;:::-;21256:14;21248:6;21244:27;21239:2;21228:9;21224:18;21217:55;21320:9;21312:6;21308:22;21303:2;21292:9;21288:18;21281:50;21348:32;21373:6;21365;21348:32;:::i;21391:616::-;21702:6;21691:9;21684:25;21745:3;21740:2;21729:9;21725:18;21718:31;21665:4;21772:57;21824:3;21813:9;21809:19;21801:6;21772:57;:::i;:::-;21877:14;21869:6;21865:27;21860:2;21849:9;21845:18;21838:55;21941:9;21933:6;21929:22;21924:2;21913:9;21909:18;21902:50;21969:32;21994:6;21986;21969:32;:::i;22012:925::-;22461:66;22453:6;22449:79;22444:3;22437:92;22419:3;22548;22580:2;22576:1;22571:3;22567:11;22560:23;22612:6;22606:13;22628:74;22695:6;22691:1;22686:3;22682:11;22675:4;22667:6;22663:17;22628:74;:::i;:::-;22730:6;22725:3;22721:16;22711:26;;22765:2;22761:1;22757:2;22753:10;22746:22;22799:6;22793:13;22777:29;;22815:75;22881:8;22877:1;22873:2;22869:10;22862:4;22854:6;22850:17;22815:75;:::i;:::-;22910:17;22929:1;22906:25;;22012:925;-1:-1:-1;;;;;22012:925:228:o;22942:339::-;23119:2;23108:9;23101:21;23082:4;23139:44;23179:2;23168:9;23164:18;23156:6;23139:44;:::i;:::-;23131:52;;-1:-1:-1;;;;;23223:6:228;23219:55;23214:2;23203:9;23199:18;23192:83;22942:339;;;;;:::o;23286:287::-;23415:3;23453:6;23447:13;23469:66;23528:6;23523:3;23516:4;23508:6;23504:17;23469:66;:::i;:::-;23551:16;;;;;23286:287;-1:-1:-1;;23286:287:228:o;23578:690::-;23913:3;23902:9;23895:22;23876:4;23940:57;23992:3;23981:9;23977:19;23969:6;23940:57;:::i;:::-;24045:9;24037:6;24033:22;24028:2;24017:9;24013:18;24006:50;24079:32;24104:6;24096;24079:32;:::i;:::-;24065:46;;24147:6;24142:2;24131:9;24127:18;24120:34;24202:9;24194:6;24190:22;24185:2;24174:9;24170:18;24163:50;24230:32;24255:6;24247;24230:32;:::i;24273:899::-;24729:6;24718:9;24711:25;24772:3;24767:2;24756:9;24752:18;24745:31;24692:4;24799:57;24851:3;24840:9;24836:19;24828:6;24799:57;:::i;:::-;24904:9;24896:6;24892:22;24887:2;24876:9;24872:18;24865:50;24938:32;24963:6;24955;24938:32;:::i;:::-;24924:46;;25006:6;25001:2;24990:9;24986:18;24979:34;25062:9;25054:6;25050:22;25044:3;25033:9;25029:19;25022:51;25090:32;25115:6;25107;25090:32;:::i;:::-;25082:40;;;25159:6;25153:3;25142:9;25138:19;25131:35;24273:899;;;;;;;;;:::o;25396:464::-;25643:66;25635:6;25631:79;25620:9;25613:98;25747:6;25742:2;25731:9;25727:18;25720:34;25790:2;25785;25774:9;25770:18;25763:30;25594:4;25810:44;25850:2;25839:9;25835:18;25827:6;25810:44;:::i;25865:174::-;25932:12;25964:10;;;25976;;;25960:27;;25999:11;;;25996:37;;;26013:18;;:::i;:::-;25996:37;25865:174;;;;:::o;26691:901::-;27116:6;27105:9;27098:25;27159:3;27154:2;27143:9;27139:18;27132:31;27079:4;27186:57;27238:3;27227:9;27223:19;27215:6;27186:57;:::i;:::-;27291:4;27279:17;;27274:2;27259:18;;27252:45;27316:12;27364:15;;;27359:2;27344:18;;27337:43;27417:15;;27411:3;27396:19;;27389:44;27464:3;27449:19;;27442:35;;;27514:22;;;27508:3;27493:19;;27486:51;27554:32;27518:6;27571;27554:32;:::i;:::-;27546:40;26691:901;-1:-1:-1;;;;;;;;;;26691:901:228:o;27597:788::-;27962:3;27951:9;27944:22;27925:4;27989:57;28041:3;28030:9;28026:19;28018:6;27989:57;:::i;:::-;28094:4;28086:6;28082:17;28077:2;28066:9;28062:18;28055:45;28148:14;28140:6;28136:27;28131:2;28120:9;28116:18;28109:55;28212:12;28204:6;28200:25;28195:2;28184:9;28180:18;28173:53;28263:6;28257:3;28246:9;28242:19;28235:35;28319:9;28311:6;28307:22;28301:3;28290:9;28286:19;28279:51;28347:32;28372:6;28364;28347:32;:::i;:::-;28339:40;27597:788;-1:-1:-1;;;;;;;;;27597:788:228:o;28650:530::-;28835:3;28873:6;28867:13;28889:66;28948:6;28943:3;28936:4;28928:6;28924:17;28889:66;:::i;:::-;29024:2;29020:15;;;;-1:-1:-1;;29016:88:228;28977:16;;;;29002:103;;;29132:2;29121:14;;29114:30;;;;29171:2;29160:14;;28650:530;-1:-1:-1;;28650:530:228:o;29469:359::-;29672:2;29661:9;29654:21;29635:4;29692:44;29732:2;29721:9;29717:18;29709:6;29692:44;:::i;:::-;29767:2;29752:18;;29745:34;;;;-1:-1:-1;29810:2:228;29795:18;29788:34;29684:52;29469:359;-1:-1:-1;29469:359:228:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","isValidOwner(bytes32,address)":"9b63ec05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465\",\"dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488","urls":["bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465","dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":211}
\ No newline at end of file
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json b/packages/contracts/out/IWorld.sol/IWorld.abi.json
index b6cfccaf6..d1b793391 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json
@@ -1627,9 +1627,9 @@
"name": "UD__isParticipant",
"inputs": [
{
- "name": "account",
- "type": "address",
- "internalType": "address"
+ "name": "playerId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "encounterId",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
index 12561c1c6..af9daa156 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
+++ b/packages/contracts/out/IWorld.sol/IWorld.abi.json.d.ts
@@ -1627,9 +1627,9 @@ declare const abi: [
"name": "UD__isParticipant",
"inputs": [
{
- "name": "account",
- "type": "address",
- "internalType": "address"
+ "name": "playerId",
+ "type": "bytes32",
+ "internalType": "bytes32"
},
{
"name": "encounterId",
diff --git a/packages/contracts/out/IWorld.sol/IWorld.json b/packages/contracts/out/IWorld.sol/IWorld.json
index 811b6e6d2..6b00f9c42 100644
--- a/packages/contracts/out/IWorld.sol/IWorld.json
+++ b/packages/contracts/out/IWorld.sol/IWorld.json
@@ -1,8903 +1 @@
-{
- "abi": [
- {
- "type": "function",
- "name": "UD___calculateMagicAttack",
- "inputs": [],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD___calculatePhysicalAttack",
- "inputs": [
- {
- "name": "attackStats",
- "type": "tuple",
- "internalType": "struct PhysicalAttackStats",
- "components": [
- {
- "name": "bonusDamage",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "armorPenetration",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "attackModifierBonus",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "critChanceBonus",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "classRestrictions",
- "type": "uint8[]",
- "internalType": "uint8[]"
- }
- ]
- },
- {
- "name": "attackerId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "defenderId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "weaponId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "randomNumber",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "damage",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "hit",
- "type": "bool",
- "internalType": "bool"
- },
- {
- "name": "crit",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__applyEquipmentBonuses",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "modifiedStats",
- "type": "tuple",
- "internalType": "struct AdjustedCombatStats",
- "components": [
- {
- "name": "adjustedStrength",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "adjustedAgility",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "adjustedIntelligence",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "adjustedArmor",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "adjustedMaxHp",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "currentHp",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "level",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "class",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__assignActionToCharacter",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "actionId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__calculateGoldDrop",
- "inputs": [
- {
- "name": "mobLevel",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "randomNumber",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "dropAmount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__checkRequirements",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "canUse",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__createAction",
- "inputs": [
- {
- "name": "actionType",
- "type": "uint8",
- "internalType": "enum ActionType"
- },
- {
- "name": "actionStats",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [
- {
- "name": "actionId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createItem",
- "inputs": [
- {
- "name": "itemType",
- "type": "uint8",
- "internalType": "enum ItemType"
- },
- {
- "name": "supply",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "dropChance",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "stats",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "itemMetadataURI",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createItems",
- "inputs": [
- {
- "name": "itemTypes",
- "type": "uint8[]",
- "internalType": "enum ItemType[]"
- },
- {
- "name": "supply",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "dropChances",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "stats",
- "type": "bytes[]",
- "internalType": "bytes[]"
- },
- {
- "name": "itemMetadataURIs",
- "type": "string[]",
- "internalType": "string[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createMatch",
- "inputs": [
- {
- "name": "encounterType",
- "type": "uint8",
- "internalType": "enum EncounterType"
- },
- {
- "name": "attackers",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "defenders",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "outputs": [
- {
- "name": "encounterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createMob",
- "inputs": [
- {
- "name": "mobType",
- "type": "uint8",
- "internalType": "enum MobType"
- },
- {
- "name": "stats",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "mobMetadataUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__createMobs",
- "inputs": [
- {
- "name": "mobTypes",
- "type": "uint8[]",
- "internalType": "enum MobType[]"
- },
- {
- "name": "stats",
- "type": "bytes[]",
- "internalType": "bytes[]"
- },
- {
- "name": "mobMetadataURIs",
- "type": "string[]",
- "internalType": "string[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__dropGold",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__dropItem",
- "inputs": [
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__dropItems",
- "inputs": [
- {
- "name": "itemIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "amounts",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "characterIds",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__endTurn",
- "inputs": [
- {
- "name": "encounterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "playerId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "actions",
- "type": "tuple[]",
- "internalType": "struct Action[]",
- "components": [
- {
- "name": "attackerEntityId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "defenderEntityId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "actionId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "weaponId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "outputs": [],
- "stateMutability": "payable"
- },
- {
- "type": "function",
- "name": "UD__enterGame",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__equipAction",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "actionId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__equipItems",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "itemIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__executeCombat",
- "inputs": [
- {
- "name": "randomNumber",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "encounterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "actions",
- "type": "tuple[]",
- "internalType": "struct Action[]",
- "components": [
- {
- "name": "attackerEntityId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "defenderEntityId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "actionId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "weaponId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__getArmorStats",
- "inputs": [
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_ArmorStats",
- "type": "tuple",
- "internalType": "struct ArmorStats",
- "components": [
- {
- "name": "agiModifier",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "armorModifier",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "classRestrictions",
- "type": "uint8[]",
- "internalType": "uint8[]"
- },
- {
- "name": "hitPointModifier",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "intModifier",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "minLevel",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "strModifier",
- "type": "int256",
- "internalType": "int256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getCharacterToken",
- "inputs": [],
- "outputs": [
- {
- "name": "_characterToken",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getCharacterTokenId",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "function",
- "name": "UD__getClass",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "_class",
- "type": "uint8",
- "internalType": "enum Classes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getCurrentAvailableLevel",
- "inputs": [
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "currentLevel",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getCurrentItemsCounter",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getEncounter",
- "inputs": [
- {
- "name": "encounterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "_encounterData",
- "type": "tuple",
- "internalType": "struct CombatEncounterData",
- "components": [
- {
- "name": "encounterType",
- "type": "uint8",
- "internalType": "enum EncounterType"
- },
- {
- "name": "start",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "end",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "currentTurn",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "maxTurns",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "defenders",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "attackers",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getEntitiesAtPosition",
- "inputs": [
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [
- {
- "name": "entitiesAtPosition",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getEntropy",
- "inputs": [],
- "outputs": [
- {
- "name": "_entropy",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getExperience",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getGoldToken",
- "inputs": [],
- "outputs": [
- {
- "name": "_goldToken",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getItemType",
- "inputs": [
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint8",
- "internalType": "enum ItemType"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getItemsContract",
- "inputs": [],
- "outputs": [
- {
- "name": "_erc1155",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getLootManagerSystem",
- "inputs": [],
- "outputs": [
- {
- "name": "_lootManager",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getMob",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct MobsData",
- "components": [
- {
- "name": "mobType",
- "type": "uint8",
- "internalType": "enum MobType"
- },
- {
- "name": "mobStats",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "mobMetadata",
- "type": "string",
- "internalType": "string"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getMob",
- "inputs": [
- {
- "name": "mobId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct MobsData",
- "components": [
- {
- "name": "mobType",
- "type": "uint8",
- "internalType": "enum MobType"
- },
- {
- "name": "mobStats",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "mobMetadata",
- "type": "string",
- "internalType": "string"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getMobId",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "function",
- "name": "UD__getMobPosition",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "function",
- "name": "UD__getMonsterStats",
- "inputs": [
- {
- "name": "mobId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct MonsterStats",
- "components": [
- {
- "name": "agility",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "armor",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- },
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "hitPoints",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "intelligence",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "inventory",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "level",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "strength",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getMonsterStats",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct MonsterStats",
- "components": [
- {
- "name": "agility",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "armor",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- },
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "hitPoints",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "intelligence",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "inventory",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "level",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "strength",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getMulticallContract",
- "inputs": [],
- "outputs": [
- {
- "name": "_multicall",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getName",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "_name",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getNpcStats",
- "inputs": [
- {
- "name": "mobId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct NPCStats",
- "components": [
- {
- "name": "name",
- "type": "string",
- "internalType": "string"
- },
- {
- "name": "storyPathIds",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "alignment",
- "type": "uint8",
- "internalType": "enum Alignment"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getNpcStats",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct NPCStats",
- "components": [
- {
- "name": "name",
- "type": "string",
- "internalType": "string"
- },
- {
- "name": "storyPathIds",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "alignment",
- "type": "uint8",
- "internalType": "enum Alignment"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getOwner",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getOwnerAddress",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "function",
- "name": "UD__getPlayerEntityId",
- "inputs": [
- {
- "name": "characterTokenId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getPythProvider",
- "inputs": [],
- "outputs": [
- {
- "name": "_provider",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getSpawnCounter",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "function",
- "name": "UD__getStarterItems",
- "inputs": [
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- }
- ],
- "outputs": [
- {
- "name": "data",
- "type": "tuple",
- "internalType": "struct StarterItemsData",
- "components": [
- {
- "name": "itemIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "amounts",
- "type": "uint256[]",
- "internalType": "uint256[]"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getStats",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "tuple",
- "internalType": "struct StatsData",
- "components": [
- {
- "name": "strength",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "agility",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- },
- {
- "name": "intelligence",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "baseHitPoints",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "currentHp",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "experience",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "level",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getTotalSupply",
- "inputs": [
- {
- "name": "tokenId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_supply",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__getWeaponStats",
- "inputs": [
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_weaponStats",
- "type": "tuple",
- "internalType": "struct WeaponStats",
- "components": [
- {
- "name": "agiModifier",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "classRestrictions",
- "type": "uint8[]",
- "internalType": "uint8[]"
- },
- {
- "name": "hitPointModifier",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "intModifier",
- "type": "int256",
- "internalType": "int256"
- },
- {
- "name": "maxDamage",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "minDamage",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "minLevel",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "strModifier",
- "type": "int256",
- "internalType": "int256"
- }
- ]
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isAtPosition",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [
- {
- "name": "_isAtPosition",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isEquipped",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "_isEquipped",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isItemOwner",
- "inputs": [
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isParticipant",
- "inputs": [
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "participants",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "outputs": [
- {
- "name": "_isParticipant",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isParticipant",
- "inputs": [
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "encounterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "_isParticipant",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isValidCharacterId",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isValidMob",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isValidOwner",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "owner",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__isValidPvE",
- "inputs": [
- {
- "name": "attackers",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "defenders",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [
- {
- "name": "_isValidPvE",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "UD__issueStarterItems",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__mintCharacter",
- "inputs": [
- {
- "name": "account",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "name",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "tokenUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__move",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__rollStats",
- "inputs": [
- {
- "name": "userRandomNumber",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- }
- ],
- "outputs": [],
- "stateMutability": "payable"
- },
- {
- "type": "function",
- "name": "UD__setStarterItems",
- "inputs": [
- {
- "name": "class",
- "type": "uint8",
- "internalType": "enum Classes"
- },
- {
- "name": "itemIds",
- "type": "uint256[]",
- "internalType": "uint256[]"
- },
- {
- "name": "amounts",
- "type": "uint256[]",
- "internalType": "uint256[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__setTokenUri",
- "inputs": [
- {
- "name": "tokenId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "tokenUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__spawn",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__spawnMob",
- "inputs": [
- {
- "name": "mobId",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__unequipItem",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "itemId",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "success",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "UD__updateTokenUri",
- "inputs": [
- {
- "name": "characterId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "tokenUri",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "batchCall",
- "inputs": [
- {
- "name": "systemCalls",
- "type": "tuple[]",
- "internalType": "struct SystemCallData[]",
- "components": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "callData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ]
- }
- ],
- "outputs": [
- {
- "name": "returnDatas",
- "type": "bytes[]",
- "internalType": "bytes[]"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "batchCallFrom",
- "inputs": [
- {
- "name": "systemCalls",
- "type": "tuple[]",
- "internalType": "struct SystemCallFromData[]",
- "components": [
- {
- "name": "from",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "callData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ]
- }
- ],
- "outputs": [
- {
- "name": "returnDatas",
- "type": "bytes[]",
- "internalType": "bytes[]"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "call",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "callData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "payable"
- },
- {
- "type": "function",
- "name": "callFrom",
- "inputs": [
- {
- "name": "delegator",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "callData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "payable"
- },
- {
- "type": "function",
- "name": "creator",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "address",
- "internalType": "address"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "deleteRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "getDynamicField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getDynamicFieldLength",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getDynamicFieldSlice",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "start",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "end",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getFieldLayout",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getFieldLength",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getFieldLength",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getKeySchema",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [
- {
- "name": "keySchema",
- "type": "bytes32",
- "internalType": "Schema"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [
- {
- "name": "staticData",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "outputs": [
- {
- "name": "staticData",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getStaticField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "getValueSchema",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [
- {
- "name": "valueSchema",
- "type": "bytes32",
- "internalType": "Schema"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "grantAccess",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "grantee",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "initialize",
- "inputs": [
- {
- "name": "initModule",
- "type": "address",
- "internalType": "contract IModule"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "installModule",
- "inputs": [
- {
- "name": "module",
- "type": "address",
- "internalType": "contract IModule"
- },
- {
- "name": "encodedArgs",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "installRootModule",
- "inputs": [
- {
- "name": "module",
- "type": "address",
- "internalType": "contract IModule"
- },
- {
- "name": "encodedArgs",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "popFromDynamicField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "byteLengthToPop",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "pushToDynamicField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "dataToPush",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerDelegation",
- "inputs": [
- {
- "name": "delegatee",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "delegationControlId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "initCallData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerFunctionSelector",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "systemFunctionSignature",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "worldFunctionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerNamespace",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerNamespaceDelegation",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "delegationControlId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "initCallData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerRootFunctionSelector",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "worldFunctionSignature",
- "type": "string",
- "internalType": "string"
- },
- {
- "name": "systemFunctionSignature",
- "type": "string",
- "internalType": "string"
- }
- ],
- "outputs": [
- {
- "name": "worldFunctionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerStoreHook",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "hookAddress",
- "type": "address",
- "internalType": "contract IStoreHook"
- },
- {
- "name": "enabledHooksBitmap",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerSystem",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "system",
- "type": "address",
- "internalType": "contract System"
- },
- {
- "name": "publicAccess",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerSystemHook",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "hookAddress",
- "type": "address",
- "internalType": "contract ISystemHook"
- },
- {
- "name": "enabledHooksBitmap",
- "type": "uint8",
- "internalType": "uint8"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "registerTable",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- },
- {
- "name": "keySchema",
- "type": "bytes32",
- "internalType": "Schema"
- },
- {
- "name": "valueSchema",
- "type": "bytes32",
- "internalType": "Schema"
- },
- {
- "name": "keyNames",
- "type": "string[]",
- "internalType": "string[]"
- },
- {
- "name": "fieldNames",
- "type": "string[]",
- "internalType": "string[]"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "renounceOwnership",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "revokeAccess",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "grantee",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setDynamicField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "staticData",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "setStaticField",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "fieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- },
- {
- "name": "fieldLayout",
- "type": "bytes32",
- "internalType": "FieldLayout"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "spliceDynamicData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "internalType": "uint8"
- },
- {
- "name": "startWithinField",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "spliceStaticData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- },
- {
- "name": "start",
- "type": "uint48",
- "internalType": "uint48"
- },
- {
- "name": "data",
- "type": "bytes",
- "internalType": "bytes"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "storeVersion",
- "inputs": [],
- "outputs": [
- {
- "name": "version",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "transferBalanceToAddress",
- "inputs": [
- {
- "name": "fromNamespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "toAddress",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "transferBalanceToNamespace",
- "inputs": [
- {
- "name": "fromNamespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "toNamespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "transferOwnership",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "newOwner",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "unregisterDelegation",
- "inputs": [
- {
- "name": "delegatee",
- "type": "address",
- "internalType": "address"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "unregisterNamespaceDelegation",
- "inputs": [
- {
- "name": "namespaceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "unregisterStoreHook",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "hookAddress",
- "type": "address",
- "internalType": "contract IStoreHook"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "unregisterSystemHook",
- "inputs": [
- {
- "name": "systemId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "hookAddress",
- "type": "address",
- "internalType": "contract ISystemHook"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "worldVersion",
- "inputs": [],
- "outputs": [
- {
- "name": "",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "event",
- "name": "HelloStore",
- "inputs": [
- {
- "name": "storeVersion",
- "type": "bytes32",
- "indexed": true,
- "internalType": "bytes32"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "HelloWorld",
- "inputs": [
- {
- "name": "worldVersion",
- "type": "bytes32",
- "indexed": true,
- "internalType": "bytes32"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_DeleteRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_SetRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "staticData",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false,
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_SpliceDynamicData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "indexed": false,
- "internalType": "uint8"
- },
- {
- "name": "start",
- "type": "uint48",
- "indexed": false,
- "internalType": "uint48"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "indexed": false,
- "internalType": "uint40"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false,
- "internalType": "EncodedLengths"
- },
- {
- "name": "data",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "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": "EncodedLengths_InvalidLength",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_Empty",
- "inputs": []
- },
- {
- "type": "error",
- "name": "FieldLayout_InvalidStaticDataLength",
- "inputs": [
- {
- "name": "staticDataLength",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "computedStaticDataLength",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_StaticLengthDoesNotFitInAWord",
- "inputs": [
- {
- "name": "index",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_StaticLengthIsNotZero",
- "inputs": [
- {
- "name": "index",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_StaticLengthIsZero",
- "inputs": [
- {
- "name": "index",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_TooManyDynamicFields",
- "inputs": [
- {
- "name": "numFields",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "maxFields",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "FieldLayout_TooManyFields",
- "inputs": [
- {
- "name": "numFields",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "maxFields",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Module_AlreadyInstalled",
- "inputs": []
- },
- {
- "type": "error",
- "name": "Module_MissingDependency",
- "inputs": [
- {
- "name": "dependency",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "error",
- "name": "Module_NonRootInstallNotSupported",
- "inputs": []
- },
- {
- "type": "error",
- "name": "Module_RootInstallNotSupported",
- "inputs": []
- },
- {
- "type": "error",
- "name": "Schema_InvalidLength",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Schema_StaticTypeAfterDynamicType",
- "inputs": []
- },
- {
- "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_IndexOutOfBounds",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "accessedIndex",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidBounds",
- "inputs": [
- {
- "name": "start",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "end",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidFieldNamesLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidKeyNamesLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidResourceType",
- "inputs": [
- {
- "name": "expected",
- "type": "bytes2",
- "internalType": "bytes2"
- },
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidSplice",
- "inputs": [
- {
- "name": "startWithinField",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "fieldLength",
- "type": "uint40",
- "internalType": "uint40"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidStaticDataLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidValueSchemaDynamicLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidValueSchemaLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidValueSchemaStaticLength",
- "inputs": [
- {
- "name": "expected",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "received",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_TableAlreadyExists",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "tableIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "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_AlreadyInitialized",
- "inputs": []
- },
- {
- "type": "error",
- "name": "World_CallbackNotAllowed",
- "inputs": [
- {
- "name": "functionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_DelegationNotFound",
- "inputs": [
- {
- "name": "delegator",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "delegatee",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_FunctionSelectorAlreadyExists",
- "inputs": [
- {
- "name": "functionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_FunctionSelectorNotFound",
- "inputs": [
- {
- "name": "functionSelector",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InsufficientBalance",
- "inputs": [
- {
- "name": "balance",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "amount",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InterfaceNotSupported",
- "inputs": [
- {
- "name": "contractAddress",
- "type": "address",
- "internalType": "address"
- },
- {
- "name": "interfaceId",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InvalidNamespace",
- "inputs": [
- {
- "name": "namespace",
- "type": "bytes14",
- "internalType": "bytes14"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InvalidResourceId",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_InvalidResourceType",
- "inputs": [
- {
- "name": "expected",
- "type": "bytes2",
- "internalType": "bytes2"
- },
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_ResourceAlreadyExists",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_ResourceNotFound",
- "inputs": [
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_SystemAlreadyExists",
- "inputs": [
- {
- "name": "system",
- "type": "address",
- "internalType": "address"
- }
- ]
- },
- {
- "type": "error",
- "name": "World_UnlimitedDelegationNotAllowed",
- "inputs": []
- }
- ],
- "bytecode": {
- "object": "0x",
- "sourceMap": "",
- "linkReferences": {}
- },
- "deployedBytecode": {
- "object": "0x",
- "sourceMap": "",
- "linkReferences": {}
- },
- "methodIdentifiers": {
- "UD___calculateMagicAttack()": "e0cac377",
- "UD___calculatePhysicalAttack((int256,int256,int256,int256,uint8[]),bytes32,bytes32,uint256,uint256)": "bf81ff5d",
- "UD__applyEquipmentBonuses(bytes32)": "54f1f2db",
- "UD__assignActionToCharacter(bytes32,bytes32)": "854cd561",
- "UD__calculateGoldDrop(uint256,uint256)": "c3505171",
- "UD__checkRequirements(bytes32,uint256)": "bf4dbebc",
- "UD__createAction(uint8,bytes)": "c3344bd2",
- "UD__createItem(uint8,uint256,uint256,bytes,string)": "c2647a81",
- "UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])": "8a2d4e05",
- "UD__createMatch(uint8,bytes32[],bytes32[])": "3e602b01",
- "UD__createMob(uint8,bytes,string)": "8cc68cc7",
- "UD__createMobs(uint8[],bytes[],string[])": "3f93a314",
- "UD__dropGold(bytes32,uint256)": "fda0ce50",
- "UD__dropItem(uint256,uint256,bytes32)": "88c571e1",
- "UD__dropItems(uint256[],uint256[],bytes32[])": "e45cde14",
- "UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])": "1f357129",
- "UD__enterGame(bytes32)": "b968fa3a",
- "UD__equipAction(bytes32,bytes32)": "3d37a73e",
- "UD__equipItems(bytes32,uint256[])": "2d9ac2be",
- "UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])": "a0ba1f1e",
- "UD__getArmorStats(uint256)": "e75aa93b",
- "UD__getCharacterToken()": "49d8cf02",
- "UD__getCharacterTokenId(bytes32)": "d97302d0",
- "UD__getClass(bytes32)": "0ae6f9ab",
- "UD__getCurrentAvailableLevel(uint256)": "d453e623",
- "UD__getCurrentItemsCounter()": "4652f280",
- "UD__getEncounter(bytes32)": "55faf03a",
- "UD__getEntitiesAtPosition(uint16,uint16)": "d0f8a4f5",
- "UD__getEntropy()": "b5c691c7",
- "UD__getExperience(bytes32)": "a8b79e60",
- "UD__getGoldToken()": "8b994e32",
- "UD__getItemType(uint256)": "cdaccbae",
- "UD__getItemsContract()": "997f897a",
- "UD__getLootManagerSystem()": "f2cb96f2",
- "UD__getMob(bytes32)": "5ac36570",
- "UD__getMob(uint256)": "622834d0",
- "UD__getMobId(bytes32)": "53d64640",
- "UD__getMobPosition(bytes32)": "8b3f8277",
- "UD__getMonsterStats(bytes32)": "e6c22e06",
- "UD__getMonsterStats(uint256)": "91b22373",
- "UD__getMulticallContract()": "71ce415d",
- "UD__getName(bytes32)": "e902af7a",
- "UD__getNpcStats(bytes32)": "a17a6b7f",
- "UD__getNpcStats(uint256)": "35c65325",
- "UD__getOwner(bytes32)": "777c2caf",
- "UD__getOwnerAddress(bytes32)": "4f10aabc",
- "UD__getPlayerEntityId(uint256)": "02ee03fa",
- "UD__getPythProvider()": "e24cefd9",
- "UD__getSpawnCounter(bytes32)": "f4e1633b",
- "UD__getStarterItems(uint8)": "b8bfeca1",
- "UD__getStats(bytes32)": "14b13b0e",
- "UD__getTotalSupply(uint256)": "37007d40",
- "UD__getWeaponStats(uint256)": "810c1dc1",
- "UD__isAtPosition(bytes32,uint16,uint16)": "f48a3972",
- "UD__isEquipped(bytes32,uint256)": "7273e39a",
- "UD__isItemOwner(uint256,address)": "b3634118",
- "UD__isParticipant(address,bytes32)": "7868d715",
- "UD__isParticipant(address,bytes32[])": "18853912",
- "UD__isValidCharacterId(bytes32)": "fa1becc4",
- "UD__isValidMob(bytes32)": "bace814a",
- "UD__isValidOwner(bytes32,address)": "43def638",
- "UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)": "c6d5525b",
- "UD__issueStarterItems(bytes32)": "f9d175ed",
- "UD__mintCharacter(address,bytes32,string)": "d408a43b",
- "UD__move(bytes32,uint16,uint16)": "d1138fa1",
- "UD__rollStats(bytes32,bytes32,uint8)": "18f14781",
- "UD__setStarterItems(uint8,uint256[],uint256[])": "2f97d48f",
- "UD__setTokenUri(uint256,string)": "d6556009",
- "UD__spawn(bytes32)": "7e29a6f6",
- "UD__spawnMob(uint256,uint16,uint16)": "15bc4248",
- "UD__unequipItem(bytes32,uint256)": "7a190324",
- "UD__updateTokenUri(bytes32,string)": "ecd73f84",
- "batchCall((bytes32,bytes)[])": "ce5e8dd9",
- "batchCallFrom((address,bytes32,bytes)[])": "8fc8cf7e",
- "call(bytes32,bytes)": "3ae7af08",
- "callFrom(address,bytes32,bytes)": "894ecc58",
- "creator()": "02d05d3f",
- "deleteRecord(bytes32,bytes32[])": "505a181d",
- "getDynamicField(bytes32,bytes32[],uint8)": "1e788977",
- "getDynamicFieldLength(bytes32,bytes32[],uint8)": "dbbf0e21",
- "getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)": "4dc77d97",
- "getField(bytes32,bytes32[],uint8)": "d03edb8c",
- "getField(bytes32,bytes32[],uint8,bytes32)": "05242d2f",
- "getFieldLayout(bytes32)": "3a77c2c2",
- "getFieldLength(bytes32,bytes32[],uint8)": "a53417ed",
- "getFieldLength(bytes32,bytes32[],uint8,bytes32)": "9f1fcf0a",
- "getKeySchema(bytes32)": "d4285dc2",
- "getRecord(bytes32,bytes32[])": "cc49db7e",
- "getRecord(bytes32,bytes32[],bytes32)": "419b58fd",
- "getStaticField(bytes32,bytes32[],uint8,bytes32)": "8c364d59",
- "getValueSchema(bytes32)": "e228a4a3",
- "grantAccess(bytes32,address)": "40554c3a",
- "initialize(address)": "c4d66de8",
- "installModule(address,bytes)": "8da798da",
- "installRootModule(address,bytes)": "af068c9e",
- "popFromDynamicField(bytes32,bytes32[],uint8,uint256)": "d9c03a04",
- "pushToDynamicField(bytes32,bytes32[],uint8,bytes)": "150f3262",
- "registerDelegation(address,bytes32,bytes)": "1d2257ba",
- "registerFunctionSelector(bytes32,string)": "26d98102",
- "registerNamespace(bytes32)": "b29e4089",
- "registerNamespaceDelegation(bytes32,bytes32,bytes)": "bfdfaff7",
- "registerRootFunctionSelector(bytes32,string,string)": "6548a90a",
- "registerStoreHook(bytes32,address,uint8)": "530f4b60",
- "registerSystem(bytes32,address,bool)": "3350b6a9",
- "registerSystemHook(bytes32,address,uint8)": "d5f8337f",
- "registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])": "0ba51f49",
- "renounceOwnership(bytes32)": "219adc2e",
- "revokeAccess(bytes32,address)": "8d53b208",
- "setDynamicField(bytes32,bytes32[],uint8,bytes)": "ef6ea862",
- "setField(bytes32,bytes32[],uint8,bytes)": "114a7266",
- "setField(bytes32,bytes32[],uint8,bytes,bytes32)": "3708196e",
- "setRecord(bytes32,bytes32[],bytes,bytes32,bytes)": "298314fb",
- "setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)": "390baae0",
- "spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)": "c0a2895a",
- "spliceStaticData(bytes32,bytes32[],uint48,bytes)": "b047c1eb",
- "storeVersion()": "c1122229",
- "transferBalanceToAddress(bytes32,address,uint256)": "45afd199",
- "transferBalanceToNamespace(bytes32,bytes32,uint256)": "c9c85a60",
- "transferOwnership(bytes32,address)": "ef5d6bbb",
- "unregisterDelegation(address)": "cdc938c5",
- "unregisterNamespaceDelegation(bytes32)": "aa66e9c8",
- "unregisterStoreHook(bytes32,address)": "05609129",
- "unregisterSystemHook(bytes32,address)": "a92813ad",
- "worldVersion()": "6951955d"
- },
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__assignActionToCharacter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UD__dropGold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__dropItem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__equipAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getLootManagerSystem\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_lootManager\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getMulticallContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_multicall\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"UD__isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]}},\"version\":1}",
- "metadata": {
- "compiler": {
- "version": "0.8.24+commit.e11b9ed9"
- },
- "language": "Solidity",
- "output": {
- "abi": [
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "length",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "EncodedLengths_InvalidLength"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "FieldLayout_Empty"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "staticDataLength",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "computedStaticDataLength",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_InvalidStaticDataLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_StaticLengthDoesNotFitInAWord"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_StaticLengthIsNotZero"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_StaticLengthIsZero"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "numFields",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "maxFields",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_TooManyDynamicFields"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "numFields",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "maxFields",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "FieldLayout_TooManyFields"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "Module_AlreadyInstalled"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "dependency",
- "type": "address"
- }
- ],
- "type": "error",
- "name": "Module_MissingDependency"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "Module_NonRootInstallNotSupported"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "Module_RootInstallNotSupported"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "length",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Schema_InvalidLength"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "Schema_StaticTypeAfterDynamicType"
- },
- {
- "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": "uint256",
- "name": "length",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "accessedIndex",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_IndexOutOfBounds"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "start",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidBounds"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidFieldNamesLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidKeyNamesLength"
- },
- {
- "inputs": [
- {
- "internalType": "bytes2",
- "name": "expected",
- "type": "bytes2"
- },
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "Store_InvalidResourceType"
- },
- {
- "inputs": [
- {
- "internalType": "uint40",
- "name": "startWithinField",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "fieldLength",
- "type": "uint40"
- }
- ],
- "type": "error",
- "name": "Store_InvalidSplice"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidStaticDataLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidValueSchemaDynamicLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidValueSchemaLength"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "expected",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "received",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_InvalidValueSchemaStaticLength"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "tableIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "Store_TableAlreadyExists"
- },
- {
- "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": [],
- "type": "error",
- "name": "World_AlreadyInitialized"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "functionSelector",
- "type": "bytes4"
- }
- ],
- "type": "error",
- "name": "World_CallbackNotAllowed"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegator",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- }
- ],
- "type": "error",
- "name": "World_DelegationNotFound"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "functionSelector",
- "type": "bytes4"
- }
- ],
- "type": "error",
- "name": "World_FunctionSelectorAlreadyExists"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "functionSelector",
- "type": "bytes4"
- }
- ],
- "type": "error",
- "name": "World_FunctionSelectorNotFound"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "balance",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "World_InsufficientBalance"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "contractAddress",
- "type": "address"
- },
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "type": "error",
- "name": "World_InterfaceNotSupported"
- },
- {
- "inputs": [
- {
- "internalType": "bytes14",
- "name": "namespace",
- "type": "bytes14"
- }
- ],
- "type": "error",
- "name": "World_InvalidNamespace"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "World_InvalidResourceId"
- },
- {
- "inputs": [
- {
- "internalType": "bytes2",
- "name": "expected",
- "type": "bytes2"
- },
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "World_InvalidResourceType"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "World_ResourceAlreadyExists"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "World_ResourceNotFound"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "system",
- "type": "address"
- }
- ],
- "type": "error",
- "name": "World_SystemAlreadyExists"
- },
- {
- "inputs": [],
- "type": "error",
- "name": "World_UnlimitedDelegationNotAllowed"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "storeVersion",
- "type": "bytes32",
- "indexed": true
- }
- ],
- "type": "event",
- "name": "HelloStore",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "worldVersion",
- "type": "bytes32",
- "indexed": true
- }
- ],
- "type": "event",
- "name": "HelloWorld",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_DeleteRecord",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "staticData",
- "type": "bytes",
- "indexed": false
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SetRecord",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "indexed": false
- },
- {
- "internalType": "uint48",
- "name": "start",
- "type": "uint48",
- "indexed": false
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40",
- "indexed": false
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SpliceDynamicData",
- "anonymous": false
- },
- {
- "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": "nonpayable",
- "type": "function",
- "name": "UD___calculateMagicAttack"
- },
- {
- "inputs": [
- {
- "internalType": "struct PhysicalAttackStats",
- "name": "attackStats",
- "type": "tuple",
- "components": [
- {
- "internalType": "int256",
- "name": "bonusDamage",
- "type": "int256"
- },
- {
- "internalType": "int256",
- "name": "armorPenetration",
- "type": "int256"
- },
- {
- "internalType": "int256",
- "name": "attackModifierBonus",
- "type": "int256"
- },
- {
- "internalType": "int256",
- "name": "critChanceBonus",
- "type": "int256"
- },
- {
- "internalType": "uint8[]",
- "name": "classRestrictions",
- "type": "uint8[]"
- }
- ]
- },
- {
- "internalType": "bytes32",
- "name": "attackerId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "defenderId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "weaponId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "randomNumber",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD___calculatePhysicalAttack",
- "outputs": [
- {
- "internalType": "int256",
- "name": "damage",
- "type": "int256"
- },
- {
- "internalType": "bool",
- "name": "hit",
- "type": "bool"
- },
- {
- "internalType": "bool",
- "name": "crit",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__applyEquipmentBonuses",
- "outputs": [
- {
- "internalType": "struct AdjustedCombatStats",
- "name": "modifiedStats",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256",
- "name": "adjustedStrength",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "adjustedAgility",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "adjustedIntelligence",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "adjustedArmor",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "adjustedMaxHp",
- "type": "uint256"
- },
- {
- "internalType": "int256",
- "name": "currentHp",
- "type": "int256"
- },
- {
- "internalType": "uint256",
- "name": "level",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "class",
- "type": "uint256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "actionId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__assignActionToCharacter"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "mobLevel",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "randomNumber",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__calculateGoldDrop",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "dropAmount",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__checkRequirements",
- "outputs": [
- {
- "internalType": "bool",
- "name": "canUse",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum ActionType",
- "name": "actionType",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "actionStats",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createAction",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "actionId",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum ItemType",
- "name": "itemType",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "supply",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "dropChance",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "stats",
- "type": "bytes"
- },
- {
- "internalType": "string",
- "name": "itemMetadataURI",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createItem",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum ItemType[]",
- "name": "itemTypes",
- "type": "uint8[]"
- },
- {
- "internalType": "uint256[]",
- "name": "supply",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "dropChances",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "stats",
- "type": "bytes[]"
- },
- {
- "internalType": "string[]",
- "name": "itemMetadataURIs",
- "type": "string[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createItems"
- },
- {
- "inputs": [
- {
- "internalType": "enum EncounterType",
- "name": "encounterType",
- "type": "uint8"
- },
- {
- "internalType": "bytes32[]",
- "name": "attackers",
- "type": "bytes32[]"
- },
- {
- "internalType": "bytes32[]",
- "name": "defenders",
- "type": "bytes32[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createMatch",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "encounterId",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum MobType",
- "name": "mobType",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "stats",
- "type": "bytes"
- },
- {
- "internalType": "string",
- "name": "mobMetadataUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createMob",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum MobType[]",
- "name": "mobTypes",
- "type": "uint8[]"
- },
- {
- "internalType": "bytes[]",
- "name": "stats",
- "type": "bytes[]"
- },
- {
- "internalType": "string[]",
- "name": "mobMetadataURIs",
- "type": "string[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__createMobs"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__dropGold"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__dropItem"
- },
- {
- "inputs": [
- {
- "internalType": "uint256[]",
- "name": "itemIds",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "amounts",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes32[]",
- "name": "characterIds",
- "type": "bytes32[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__dropItems"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "encounterId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "playerId",
- "type": "bytes32"
- },
- {
- "internalType": "struct Action[]",
- "name": "actions",
- "type": "tuple[]",
- "components": [
- {
- "internalType": "bytes32",
- "name": "attackerEntityId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "defenderEntityId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "actionId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "weaponId",
- "type": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "payable",
- "type": "function",
- "name": "UD__endTurn"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__enterGame"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "actionId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__equipAction"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256[]",
- "name": "itemIds",
- "type": "uint256[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__equipItems"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "randomNumber",
- "type": "uint256"
- },
- {
- "internalType": "bytes32",
- "name": "encounterId",
- "type": "bytes32"
- },
- {
- "internalType": "struct Action[]",
- "name": "actions",
- "type": "tuple[]",
- "components": [
- {
- "internalType": "bytes32",
- "name": "attackerEntityId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "defenderEntityId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "actionId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "weaponId",
- "type": "uint256"
- }
- ]
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__executeCombat"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getArmorStats",
- "outputs": [
- {
- "internalType": "struct ArmorStats",
- "name": "_ArmorStats",
- "type": "tuple",
- "components": [
- {
- "internalType": "int256",
- "name": "agiModifier",
- "type": "int256"
- },
- {
- "internalType": "uint256",
- "name": "armorModifier",
- "type": "uint256"
- },
- {
- "internalType": "uint8[]",
- "name": "classRestrictions",
- "type": "uint8[]"
- },
- {
- "internalType": "int256",
- "name": "hitPointModifier",
- "type": "int256"
- },
- {
- "internalType": "int256",
- "name": "intModifier",
- "type": "int256"
- },
- {
- "internalType": "uint256",
- "name": "minLevel",
- "type": "uint256"
- },
- {
- "internalType": "int256",
- "name": "strModifier",
- "type": "int256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getCharacterToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "_characterToken",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "UD__getCharacterTokenId",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getClass",
- "outputs": [
- {
- "internalType": "enum Classes",
- "name": "_class",
- "type": "uint8"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getCurrentAvailableLevel",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "currentLevel",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getCurrentItemsCounter",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "encounterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getEncounter",
- "outputs": [
- {
- "internalType": "struct CombatEncounterData",
- "name": "_encounterData",
- "type": "tuple",
- "components": [
- {
- "internalType": "enum EncounterType",
- "name": "encounterType",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "start",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "currentTurn",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "maxTurns",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "defenders",
- "type": "bytes32[]"
- },
- {
- "internalType": "bytes32[]",
- "name": "attackers",
- "type": "bytes32[]"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getEntitiesAtPosition",
- "outputs": [
- {
- "internalType": "bytes32[]",
- "name": "entitiesAtPosition",
- "type": "bytes32[]"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getEntropy",
- "outputs": [
- {
- "internalType": "address",
- "name": "_entropy",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getExperience",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getGoldToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "_goldToken",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getItemType",
- "outputs": [
- {
- "internalType": "enum ItemType",
- "name": "",
- "type": "uint8"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getItemsContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "_erc1155",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getLootManagerSystem",
- "outputs": [
- {
- "internalType": "address",
- "name": "_lootManager",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getMob",
- "outputs": [
- {
- "internalType": "struct MobsData",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "enum MobType",
- "name": "mobType",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "mobStats",
- "type": "bytes"
- },
- {
- "internalType": "string",
- "name": "mobMetadata",
- "type": "string"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "mobId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getMob",
- "outputs": [
- {
- "internalType": "struct MobsData",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "enum MobType",
- "name": "mobType",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "mobStats",
- "type": "bytes"
- },
- {
- "internalType": "string",
- "name": "mobMetadata",
- "type": "string"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "UD__getMobId",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "UD__getMobPosition",
- "outputs": [
- {
- "internalType": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "mobId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getMonsterStats",
- "outputs": [
- {
- "internalType": "struct MonsterStats",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256",
- "name": "agility",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "armor",
- "type": "uint256"
- },
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "hitPoints",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "intelligence",
- "type": "uint256"
- },
- {
- "internalType": "uint256[]",
- "name": "inventory",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256",
- "name": "level",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "strength",
- "type": "uint256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getMonsterStats",
- "outputs": [
- {
- "internalType": "struct MonsterStats",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256",
- "name": "agility",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "armor",
- "type": "uint256"
- },
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "hitPoints",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "intelligence",
- "type": "uint256"
- },
- {
- "internalType": "uint256[]",
- "name": "inventory",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256",
- "name": "level",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "strength",
- "type": "uint256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getMulticallContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "_multicall",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getName",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "_name",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "mobId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getNpcStats",
- "outputs": [
- {
- "internalType": "struct NPCStats",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "string",
- "name": "name",
- "type": "string"
- },
- {
- "internalType": "bytes32[]",
- "name": "storyPathIds",
- "type": "bytes32[]"
- },
- {
- "internalType": "enum Alignment",
- "name": "alignment",
- "type": "uint8"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getNpcStats",
- "outputs": [
- {
- "internalType": "struct NPCStats",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "string",
- "name": "name",
- "type": "string"
- },
- {
- "internalType": "bytes32[]",
- "name": "storyPathIds",
- "type": "bytes32[]"
- },
- {
- "internalType": "enum Alignment",
- "name": "alignment",
- "type": "uint8"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getOwner",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "UD__getOwnerAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "characterTokenId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getPlayerEntityId",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getPythProvider",
- "outputs": [
- {
- "internalType": "address",
- "name": "_provider",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "UD__getSpawnCounter",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getStarterItems",
- "outputs": [
- {
- "internalType": "struct StarterItemsData",
- "name": "data",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256[]",
- "name": "itemIds",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "amounts",
- "type": "uint256[]"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getStats",
- "outputs": [
- {
- "internalType": "struct StatsData",
- "name": "",
- "type": "tuple",
- "components": [
- {
- "internalType": "uint256",
- "name": "strength",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "agility",
- "type": "uint256"
- },
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "intelligence",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "baseHitPoints",
- "type": "uint256"
- },
- {
- "internalType": "int256",
- "name": "currentHp",
- "type": "int256"
- },
- {
- "internalType": "uint256",
- "name": "experience",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "level",
- "type": "uint256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getTotalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "_supply",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__getWeaponStats",
- "outputs": [
- {
- "internalType": "struct WeaponStats",
- "name": "_weaponStats",
- "type": "tuple",
- "components": [
- {
- "internalType": "int256",
- "name": "agiModifier",
- "type": "int256"
- },
- {
- "internalType": "uint8[]",
- "name": "classRestrictions",
- "type": "uint8[]"
- },
- {
- "internalType": "int256",
- "name": "hitPointModifier",
- "type": "int256"
- },
- {
- "internalType": "int256",
- "name": "intModifier",
- "type": "int256"
- },
- {
- "internalType": "uint256",
- "name": "maxDamage",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "minDamage",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "minLevel",
- "type": "uint256"
- },
- {
- "internalType": "int256",
- "name": "strModifier",
- "type": "int256"
- }
- ]
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- },
- {
- "internalType": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isAtPosition",
- "outputs": [
- {
- "internalType": "bool",
- "name": "_isAtPosition",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isEquipped",
- "outputs": [
- {
- "internalType": "bool",
- "name": "_isEquipped",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isItemOwner",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "participants",
- "type": "bytes32[]"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isParticipant",
- "outputs": [
- {
- "internalType": "bool",
- "name": "_isParticipant",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "encounterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isParticipant",
- "outputs": [
- {
- "internalType": "bool",
- "name": "_isParticipant",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isValidCharacterId",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isValidMob",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isValidOwner",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32[]",
- "name": "attackers",
- "type": "bytes32[]"
- },
- {
- "internalType": "bytes32[]",
- "name": "defenders",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "UD__isValidPvE",
- "outputs": [
- {
- "internalType": "bool",
- "name": "_isValidPvE",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__issueStarterItems"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "name",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "tokenUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__mintCharacter",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- },
- {
- "internalType": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__move"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "userRandomNumber",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- }
- ],
- "stateMutability": "payable",
- "type": "function",
- "name": "UD__rollStats"
- },
- {
- "inputs": [
- {
- "internalType": "enum Classes",
- "name": "class",
- "type": "uint8"
- },
- {
- "internalType": "uint256[]",
- "name": "itemIds",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "amounts",
- "type": "uint256[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__setStarterItems"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "tokenId",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "tokenUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__setTokenUri"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__spawn"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "mobId",
- "type": "uint256"
- },
- {
- "internalType": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__spawnMob",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "itemId",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__unequipItem",
- "outputs": [
- {
- "internalType": "bool",
- "name": "success",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "characterId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "tokenUri",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "UD__updateTokenUri"
- },
- {
- "inputs": [
- {
- "internalType": "struct SystemCallData[]",
- "name": "systemCalls",
- "type": "tuple[]",
- "components": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "callData",
- "type": "bytes"
- }
- ]
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "batchCall",
- "outputs": [
- {
- "internalType": "bytes[]",
- "name": "returnDatas",
- "type": "bytes[]"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "struct SystemCallFromData[]",
- "name": "systemCalls",
- "type": "tuple[]",
- "components": [
- {
- "internalType": "address",
- "name": "from",
- "type": "address"
- },
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "callData",
- "type": "bytes"
- }
- ]
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "batchCallFrom",
- "outputs": [
- {
- "internalType": "bytes[]",
- "name": "returnDatas",
- "type": "bytes[]"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "callData",
- "type": "bytes"
- }
- ],
- "stateMutability": "payable",
- "type": "function",
- "name": "call",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegator",
- "type": "address"
- },
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "callData",
- "type": "bytes"
- }
- ],
- "stateMutability": "payable",
- "type": "function",
- "name": "callFrom",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "creator",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "deleteRecord"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getDynamicField",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getDynamicFieldLength",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "start",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getDynamicFieldSlice",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getField",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getField",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getFieldLayout",
- "outputs": [
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getFieldLength",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getFieldLength",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getKeySchema",
- "outputs": [
- {
- "internalType": "Schema",
- "name": "keySchema",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getRecord",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "staticData",
- "type": "bytes"
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getRecord",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "staticData",
- "type": "bytes"
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getStaticField",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getValueSchema",
- "outputs": [
- {
- "internalType": "Schema",
- "name": "valueSchema",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "grantee",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "grantAccess"
- },
- {
- "inputs": [
- {
- "internalType": "contract IModule",
- "name": "initModule",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "initialize"
- },
- {
- "inputs": [
- {
- "internalType": "contract IModule",
- "name": "module",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "encodedArgs",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "installModule"
- },
- {
- "inputs": [
- {
- "internalType": "contract IModule",
- "name": "module",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "encodedArgs",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "installRootModule"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "byteLengthToPop",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "popFromDynamicField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "dataToPush",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "pushToDynamicField"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- },
- {
- "internalType": "ResourceId",
- "name": "delegationControlId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "initCallData",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerDelegation"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "systemFunctionSignature",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerFunctionSelector",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "worldFunctionSelector",
- "type": "bytes4"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerNamespace"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "ResourceId",
- "name": "delegationControlId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "initCallData",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerNamespaceDelegation"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "worldFunctionSignature",
- "type": "string"
- },
- {
- "internalType": "string",
- "name": "systemFunctionSignature",
- "type": "string"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerRootFunctionSelector",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "worldFunctionSelector",
- "type": "bytes4"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "contract IStoreHook",
- "name": "hookAddress",
- "type": "address"
- },
- {
- "internalType": "uint8",
- "name": "enabledHooksBitmap",
- "type": "uint8"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerStoreHook"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "contract System",
- "name": "system",
- "type": "address"
- },
- {
- "internalType": "bool",
- "name": "publicAccess",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerSystem"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "contract ISystemHook",
- "name": "hookAddress",
- "type": "address"
- },
- {
- "internalType": "uint8",
- "name": "enabledHooksBitmap",
- "type": "uint8"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerSystemHook"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- },
- {
- "internalType": "Schema",
- "name": "keySchema",
- "type": "bytes32"
- },
- {
- "internalType": "Schema",
- "name": "valueSchema",
- "type": "bytes32"
- },
- {
- "internalType": "string[]",
- "name": "keyNames",
- "type": "string[]"
- },
- {
- "internalType": "string[]",
- "name": "fieldNames",
- "type": "string[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "registerTable"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "renounceOwnership"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "grantee",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "revokeAccess"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setDynamicField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "bytes",
- "name": "staticData",
- "type": "bytes"
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32"
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setRecord"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "fieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "FieldLayout",
- "name": "fieldLayout",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "setStaticField"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8"
- },
- {
- "internalType": "uint40",
- "name": "startWithinField",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "spliceDynamicData"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint48",
- "name": "start",
- "type": "uint48"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "spliceStaticData"
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "storeVersion",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "version",
- "type": "bytes32"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "fromNamespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "toAddress",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "transferBalanceToAddress"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "fromNamespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "ResourceId",
- "name": "toNamespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "transferBalanceToNamespace"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "transferOwnership"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "unregisterDelegation"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "namespaceId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "unregisterNamespaceDelegation"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32"
- },
- {
- "internalType": "contract IStoreHook",
- "name": "hookAddress",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "unregisterStoreHook"
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "systemId",
- "type": "bytes32"
- },
- {
- "internalType": "contract ISystemHook",
- "name": "hookAddress",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "unregisterSystemHook"
- },
- {
- "inputs": [],
- "stateMutability": "view",
- "type": "function",
- "name": "worldVersion",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ]
- }
- ],
- "devdoc": {
- "kind": "dev",
- "methods": {
- "call(bytes32,bytes)": {
- "details": "If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).",
- "params": {
- "callData": "The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.",
- "systemId": "The ID of the system to be called."
- },
- "returns": {
- "_0": "The abi encoded return data from the called system."
- }
- },
- "callFrom(address,bytes32,bytes)": {
- "details": "If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).",
- "params": {
- "callData": "The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.",
- "delegator": "The address on whose behalf the call is made.",
- "systemId": "The ID of the system to be called."
- },
- "returns": {
- "_0": "The abi encoded return data from the called system."
- }
- },
- "creator()": {
- "returns": {
- "_0": "The address of the World's creator."
- }
- },
- "initialize(address)": {
- "details": "Can only be called once by the creator.",
- "params": {
- "initModule": "The InitModule to be installed during initialization."
- }
- },
- "installRootModule(address,bytes)": {
- "details": "Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.",
- "params": {
- "encodedArgs": "The ABI encoded arguments for the module installation.",
- "module": "The module to be installed."
- }
- },
- "storeVersion()": {
- "returns": {
- "version": "The protocol version of the Store contract."
- }
- },
- "worldVersion()": {
- "returns": {
- "_0": "The protocol version of the World."
- }
- }
- },
- "version": 1
- },
- "userdoc": {
- "kind": "user",
- "methods": {
- "call(bytes32,bytes)": {
- "notice": "Call the system at the given system ID."
- },
- "callFrom(address,bytes32,bytes)": {
- "notice": "Call the system at the given system ID on behalf of the given delegator."
- },
- "creator()": {
- "notice": "Retrieve the immutable original deployer of the World."
- },
- "getDynamicField(bytes32,bytes32[],uint8)": {
- "notice": "Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"
- },
- "getDynamicFieldLength(bytes32,bytes32[],uint8)": {
- "notice": "Get the byte length of a single dynamic field from the given tableId and key tuple"
- },
- "getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)": {
- "notice": "Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."
- },
- "getField(bytes32,bytes32[],uint8)": {
- "notice": "Get a single field from the given tableId and key tuple, loading the field layout from storage"
- },
- "getField(bytes32,bytes32[],uint8,bytes32)": {
- "notice": "Get a single field from the given tableId and key tuple, with the given field layout"
- },
- "getFieldLength(bytes32,bytes32[],uint8)": {
- "notice": "Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"
- },
- "getFieldLength(bytes32,bytes32[],uint8,bytes32)": {
- "notice": "Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"
- },
- "getRecord(bytes32,bytes32[])": {
- "notice": "Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"
- },
- "getRecord(bytes32,bytes32[],bytes32)": {
- "notice": "Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"
- },
- "getStaticField(bytes32,bytes32[],uint8,bytes32)": {
- "notice": "Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."
- },
- "initialize(address)": {
- "notice": "Initializes the World."
- },
- "installRootModule(address,bytes)": {
- "notice": "Install the given root module in the World."
- },
- "storeVersion()": {
- "notice": "Returns the protocol version of the Store contract."
- },
- "worldVersion()": {
- "notice": "Retrieve the protocol version of the World."
- }
- },
- "version": 1
- }
- },
- "settings": {
- "remappings": [
- "@codegen/=src/codegen/",
- "@erc1155/=lib/ERC1155-puppet/",
- "@interfaces/=src/interfaces/",
- "@latticexyz/=node_modules/@latticexyz/",
- "@libraries/=src/libraries/",
- "@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/",
- "@openzeppelin/=node_modules/@openzeppelin/contracts/",
- "@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/",
- "@systems/=src/systems/",
- "@tables/=src/codegen/tables/",
- "@test/=test/",
- "@world/=src/codegen/world/",
- "ERC1155-puppet/=lib/ERC1155-puppet/",
- "ds-test/=node_modules/ds-test/src/",
- "forge-std/=node_modules/forge-std/src/"
- ],
- "optimizer": {
- "enabled": true,
- "runs": 3000
- },
- "metadata": {
- "bytecodeHash": "ipfs"
- },
- "compilationTarget": {
- "src/codegen/world/IWorld.sol": "IWorld"
- },
- "evmVersion": "paris",
- "libraries": {}
- },
- "sources": {
- "node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol": {
- "keccak256": "0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a",
- "urls": [
- "bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44",
- "dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Bytes.sol": {
- "keccak256": "0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8",
- "urls": [
- "bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35",
- "dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/EncodedLengths.sol": {
- "keccak256": "0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774",
- "urls": [
- "bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09",
- "dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/FieldLayout.sol": {
- "keccak256": "0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658",
- "urls": [
- "bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7",
- "dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Hook.sol": {
- "keccak256": "0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e",
- "urls": [
- "bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3",
- "dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IERC165.sol": {
- "keccak256": "0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927",
- "urls": [
- "bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2",
- "dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol": {
- "keccak256": "0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa",
- "urls": [
- "bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba",
- "dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol": {
- "keccak256": "0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53",
- "urls": [
- "bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817",
- "dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ISchemaErrors.sol": {
- "keccak256": "0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441",
- "urls": [
- "bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d",
- "dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ISliceErrors.sol": {
- "keccak256": "0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c",
- "urls": [
- "bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883",
- "dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStore.sol": {
- "keccak256": "0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706",
- "urls": [
- "bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc",
- "dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreErrors.sol": {
- "keccak256": "0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912",
- "urls": [
- "bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6",
- "dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreEvents.sol": {
- "keccak256": "0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a",
- "urls": [
- "bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08",
- "dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreHook.sol": {
- "keccak256": "0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4",
- "urls": [
- "bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562",
- "dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreKernel.sol": {
- "keccak256": "0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89",
- "urls": [
- "bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0",
- "dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreRead.sol": {
- "keccak256": "0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b",
- "urls": [
- "bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db",
- "dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreRegistration.sol": {
- "keccak256": "0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b",
- "urls": [
- "bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a",
- "dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreWrite.sol": {
- "keccak256": "0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba",
- "urls": [
- "bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890",
- "dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Memory.sol": {
- "keccak256": "0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811",
- "urls": [
- "bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392",
- "dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ResourceId.sol": {
- "keccak256": "0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2",
- "urls": [
- "bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0",
- "dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Schema.sol": {
- "keccak256": "0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7",
- "urls": [
- "bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3",
- "dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Slice.sol": {
- "keccak256": "0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345",
- "urls": [
- "bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4",
- "dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Storage.sol": {
- "keccak256": "0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3",
- "urls": [
- "bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee",
- "dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/StoreCore.sol": {
- "keccak256": "0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861",
- "urls": [
- "bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2",
- "dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
- "keccak256": "0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40",
- "urls": [
- "bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91",
- "dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/index.sol": {
- "keccak256": "0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85",
- "urls": [
- "bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4",
- "dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol": {
- "keccak256": "0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394",
- "urls": [
- "bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53",
- "dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol": {
- "keccak256": "0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64",
- "urls": [
- "bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905",
- "dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol": {
- "keccak256": "0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c",
- "urls": [
- "bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6",
- "dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/Tables.sol": {
- "keccak256": "0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09",
- "urls": [
- "bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc",
- "dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/constants.sol": {
- "keccak256": "0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6",
- "urls": [
- "bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168",
- "dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/rightMask.sol": {
- "keccak256": "0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275",
- "urls": [
- "bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754",
- "dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/storeHookTypes.sol": {
- "keccak256": "0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572",
- "urls": [
- "bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3",
- "dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/storeResourceTypes.sol": {
- "keccak256": "0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261",
- "urls": [
- "bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586",
- "dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol": {
- "keccak256": "0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152",
- "urls": [
- "bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e",
- "dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol": {
- "keccak256": "0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3",
- "urls": [
- "bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea",
- "dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol": {
- "keccak256": "0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8",
- "urls": [
- "bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3",
- "dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/version.sol": {
- "keccak256": "0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a",
- "urls": [
- "bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a",
- "dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IERC165.sol": {
- "keccak256": "0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d",
- "urls": [
- "bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7",
- "dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IModule.sol": {
- "keccak256": "0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57",
- "urls": [
- "bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2",
- "dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IModuleErrors.sol": {
- "keccak256": "0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d",
- "urls": [
- "bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea",
- "dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/ISystemHook.sol": {
- "keccak256": "0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721",
- "urls": [
- "bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f",
- "dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldContextConsumer.sol": {
- "keccak256": "0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299",
- "urls": [
- "bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255",
- "dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldErrors.sol": {
- "keccak256": "0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b",
- "urls": [
- "bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf",
- "dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldEvents.sol": {
- "keccak256": "0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243",
- "urls": [
- "bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57",
- "dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldKernel.sol": {
- "keccak256": "0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b",
- "urls": [
- "bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092",
- "dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/System.sol": {
- "keccak256": "0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd",
- "urls": [
- "bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f",
- "dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/WorldContext.sol": {
- "keccak256": "0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9",
- "urls": [
- "bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e",
- "dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/WorldResourceId.sol": {
- "keccak256": "0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee",
- "urls": [
- "bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea",
- "dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol": {
- "keccak256": "0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc",
- "urls": [
- "bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48",
- "dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol": {
- "keccak256": "0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4",
- "urls": [
- "bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83",
- "dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol": {
- "keccak256": "0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17",
- "urls": [
- "bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81",
- "dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol": {
- "keccak256": "0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c",
- "urls": [
- "bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2",
- "dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol": {
- "keccak256": "0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35",
- "urls": [
- "bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b",
- "dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol": {
- "keccak256": "0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800",
- "urls": [
- "bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c",
- "dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol": {
- "keccak256": "0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c",
- "urls": [
- "bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27",
- "dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"
- ],
- "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/types.sol": {
- "keccak256": "0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc",
- "urls": [
- "bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525",
- "dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/revertWithBytes.sol": {
- "keccak256": "0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5",
- "urls": [
- "bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359",
- "dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/worldResourceTypes.sol": {
- "keccak256": "0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465",
- "urls": [
- "bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea",
- "dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"
- ],
- "license": "MIT"
- },
- "src/codegen/common.sol": {
- "keccak256": "0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42",
- "urls": [
- "bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085",
- "dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"
- ],
- "license": "MIT"
- },
- "src/codegen/index.sol": {
- "keccak256": "0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0",
- "urls": [
- "bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2",
- "dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Actions.sol": {
- "keccak256": "0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef",
- "urls": [
- "bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392",
- "dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Admin.sol": {
- "keccak256": "0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725",
- "urls": [
- "bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614",
- "dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CharacterEquipment.sol": {
- "keccak256": "0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32",
- "urls": [
- "bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2",
- "dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Characters.sol": {
- "keccak256": "0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98",
- "urls": [
- "bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893",
- "dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CombatEncounter.sol": {
- "keccak256": "0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696",
- "urls": [
- "bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405",
- "dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Counters.sol": {
- "keccak256": "0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d",
- "urls": [
- "bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8",
- "dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/EntitiesAtPosition.sol": {
- "keccak256": "0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501",
- "urls": [
- "bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4",
- "dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Items.sol": {
- "keccak256": "0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f",
- "urls": [
- "bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f",
- "dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Levels.sol": {
- "keccak256": "0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327",
- "urls": [
- "bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4",
- "dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MapConfig.sol": {
- "keccak256": "0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27",
- "urls": [
- "bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3",
- "dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MatchEntity.sol": {
- "keccak256": "0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2",
- "urls": [
- "bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b",
- "dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Mobs.sol": {
- "keccak256": "0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3",
- "urls": [
- "bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060",
- "dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MobsByLevel.sol": {
- "keccak256": "0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d",
- "urls": [
- "bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5",
- "dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Name.sol": {
- "keccak256": "0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99",
- "urls": [
- "bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4",
- "dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/NameExists.sol": {
- "keccak256": "0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab",
- "urls": [
- "bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf",
- "dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Position.sol": {
- "keccak256": "0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d",
- "urls": [
- "bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa",
- "dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/RandomNumbers.sol": {
- "keccak256": "0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22",
- "urls": [
- "bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5",
- "dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Spawned.sol": {
- "keccak256": "0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c",
- "urls": [
- "bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905",
- "dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/StarterItems.sol": {
- "keccak256": "0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3",
- "urls": [
- "bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3",
- "dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Stats.sol": {
- "keccak256": "0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891",
- "urls": [
- "bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227",
- "dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/UltimateDominionConfig.sol": {
- "keccak256": "0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58",
- "urls": [
- "bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9",
- "dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IActionSystem.sol": {
- "keccak256": "0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d",
- "urls": [
- "bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f",
- "dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ICharacterSystem.sol": {
- "keccak256": "0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235",
- "urls": [
- "bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782",
- "dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ICombatSystem.sol": {
- "keccak256": "0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09",
- "urls": [
- "bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947",
- "dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IEquipmentSystem.sol": {
- "keccak256": "0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3",
- "urls": [
- "bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa",
- "dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IItemsSystem.sol": {
- "keccak256": "0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b",
- "urls": [
- "bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b",
- "dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ILootManagerSystem.sol": {
- "keccak256": "0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864",
- "urls": [
- "bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0",
- "dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IMapSystem.sol": {
- "keccak256": "0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80",
- "urls": [
- "bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e",
- "dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IMobSystem.sol": {
- "keccak256": "0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391",
- "urls": [
- "bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c",
- "dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IUltimateDominionConfigSystem.sol": {
- "keccak256": "0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f",
- "urls": [
- "bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56",
- "dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IWorld.sol": {
- "keccak256": "0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4",
- "urls": [
- "bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64",
- "dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"
- ],
- "license": "MIT"
- },
- "src/interfaces/Structs.sol": {
- "keccak256": "0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de",
- "urls": [
- "bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5",
- "dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"
- ],
- "license": "MIT"
- }
- },
- "version": 1
- },
- "id": 206
-}
\ No newline at end of file
+{"abi":[{"type":"function","name":"UD___calculateMagicAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD___calculatePhysicalAttack","inputs":[{"name":"attackStats","type":"tuple","internalType":"struct PhysicalAttackStats","components":[{"name":"bonusDamage","type":"int256","internalType":"int256"},{"name":"armorPenetration","type":"int256","internalType":"int256"},{"name":"attackModifierBonus","type":"int256","internalType":"int256"},{"name":"critChanceBonus","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"}]},{"name":"attackerId","type":"bytes32","internalType":"bytes32"},{"name":"defenderId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"damage","type":"int256","internalType":"int256"},{"name":"hit","type":"bool","internalType":"bool"},{"name":"crit","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__applyEquipmentBonuses","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"modifiedStats","type":"tuple","internalType":"struct AdjustedCombatStats","components":[{"name":"adjustedStrength","type":"uint256","internalType":"uint256"},{"name":"adjustedAgility","type":"uint256","internalType":"uint256"},{"name":"adjustedIntelligence","type":"uint256","internalType":"uint256"},{"name":"adjustedArmor","type":"uint256","internalType":"uint256"},{"name":"adjustedMaxHp","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__assignActionToCharacter","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__calculateGoldDrop","inputs":[{"name":"mobLevel","type":"uint256","internalType":"uint256"},{"name":"randomNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"dropAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__calculateItemDrop","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__checkRequirements","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canUse","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__createAction","inputs":[{"name":"actionType","type":"uint8","internalType":"enum ActionType"},{"name":"actionStats","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItem","inputs":[{"name":"itemType","type":"uint8","internalType":"enum ItemType"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"dropChance","type":"uint256","internalType":"uint256"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"itemMetadataURI","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createItems","inputs":[{"name":"itemTypes","type":"uint8[]","internalType":"enum ItemType[]"},{"name":"supply","type":"uint256[]","internalType":"uint256[]"},{"name":"dropChances","type":"uint256[]","internalType":"uint256[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"itemMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMatch","inputs":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMob","inputs":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"stats","type":"bytes","internalType":"bytes"},{"name":"mobMetadataUri","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__createMobs","inputs":[{"name":"mobTypes","type":"uint8[]","internalType":"enum MobType[]"},{"name":"stats","type":"bytes[]","internalType":"bytes[]"},{"name":"mobMetadataURIs","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropGold","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItem","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__dropItems","inputs":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"},{"name":"characterIds","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__endTurn","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipAction","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__equipItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__executeCombat","inputs":[{"name":"randomNumber","type":"uint256","internalType":"uint256"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"},{"name":"actions","type":"tuple[]","internalType":"struct Action[]","components":[{"name":"attackerEntityId","type":"bytes32","internalType":"bytes32"},{"name":"defenderEntityId","type":"bytes32","internalType":"bytes32"},{"name":"actionId","type":"bytes32","internalType":"bytes32"},{"name":"weaponId","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__getArmorStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_ArmorStats","type":"tuple","internalType":"struct ArmorStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"armorModifier","type":"uint256","internalType":"uint256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterToken","inputs":[],"outputs":[{"name":"_characterToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getCurrentItemsCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getEncounter","inputs":[{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_encounterData","type":"tuple","internalType":"struct CombatEncounterData","components":[{"name":"encounterType","type":"uint8","internalType":"enum EncounterType"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"},{"name":"currentTurn","type":"uint256","internalType":"uint256"},{"name":"maxTurns","type":"uint256","internalType":"uint256"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"UD__getEntropy","inputs":[],"outputs":[{"name":"_entropy","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getGoldToken","inputs":[],"outputs":[{"name":"_goldToken","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemType","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum ItemType"}],"stateMutability":"view"},{"type":"function","name":"UD__getItemsContract","inputs":[],"outputs":[{"name":"_erc1155","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getLootManagerSystem","inputs":[],"outputs":[{"name":"_lootManager","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MobsData","components":[{"name":"mobType","type":"uint8","internalType":"enum MobType"},{"name":"mobStats","type":"bytes","internalType":"bytes"},{"name":"mobMetadata","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMobId","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMobPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"stateMutability":"pure"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getMonsterStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct MonsterStats","components":[{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"armor","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"hitPoints","type":"uint256","internalType":"uint256"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"inventory","type":"uint256[]","internalType":"uint256[]"},{"name":"level","type":"uint256","internalType":"uint256"},{"name":"strength","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getNpcStats","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct NPCStats","components":[{"name":"name","type":"string","internalType":"string"},{"name":"storyPathIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"alignment","type":"uint8","internalType":"enum Alignment"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"UD__getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UD__getPythProvider","inputs":[],"outputs":[{"name":"_provider","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"UD__getSpawnCounter","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"UD__getStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct StarterItemsData","components":[{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__getTotalSupply","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"UD__getWeaponStats","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_weaponStats","type":"tuple","internalType":"struct WeaponStats","components":[{"name":"agiModifier","type":"int256","internalType":"int256"},{"name":"classRestrictions","type":"uint8[]","internalType":"uint8[]"},{"name":"hitPointModifier","type":"int256","internalType":"int256"},{"name":"intModifier","type":"int256","internalType":"int256"},{"name":"maxDamage","type":"uint256","internalType":"uint256"},{"name":"minDamage","type":"uint256","internalType":"uint256"},{"name":"minLevel","type":"uint256","internalType":"uint256"},{"name":"strModifier","type":"int256","internalType":"int256"}]}],"stateMutability":"view"},{"type":"function","name":"UD__isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isEquipped","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_isEquipped","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isItemOwner","inputs":[{"name":"itemId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"participants","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isParticipant","inputs":[{"name":"playerId","type":"bytes32","internalType":"bytes32"},{"name":"encounterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_isParticipant","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidMob","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__isValidPvE","inputs":[{"name":"attackers","type":"bytes32[]","internalType":"bytes32[]"},{"name":"defenders","type":"bytes32[]","internalType":"bytes32[]"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isValidPvE","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"UD__issueStarterItems","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"UD__setStarterItems","inputs":[{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"itemIds","type":"uint256[]","internalType":"uint256[]"},{"name":"amounts","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__setTokenUri","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UD__spawnMob","inputs":[{"name":"mobId","type":"uint256","internalType":"uint256"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__unequipItem","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"itemId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"UD__updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchCall","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallData[]","components":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"batchCallFrom","inputs":[{"name":"systemCalls","type":"tuple[]","internalType":"struct SystemCallFromData[]","components":[{"name":"from","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnDatas","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"grantAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerTable","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"},{"name":"keySchema","type":"bytes32","internalType":"Schema"},{"name":"valueSchema","type":"bytes32","internalType":"Schema"},{"name":"keyNames","type":"string[]","internalType":"string[]"},{"name":"fieldNames","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeAccess","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"grantee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"version","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"transferBalanceToAddress","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferBalanceToNamespace","inputs":[{"name":"fromNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"toNamespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterStoreHook","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract IStoreHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_Empty","inputs":[]},{"type":"error","name":"FieldLayout_InvalidStaticDataLength","inputs":[{"name":"staticDataLength","type":"uint256","internalType":"uint256"},{"name":"computedStaticDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsNotZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_StaticLengthIsZero","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyDynamicFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayout_TooManyFields","inputs":[{"name":"numFields","type":"uint256","internalType":"uint256"},{"name":"maxFields","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Module_AlreadyInstalled","inputs":[]},{"type":"error","name":"Module_MissingDependency","inputs":[{"name":"dependency","type":"address","internalType":"address"}]},{"type":"error","name":"Module_NonRootInstallNotSupported","inputs":[]},{"type":"error","name":"Module_RootInstallNotSupported","inputs":[]},{"type":"error","name":"Schema_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Schema_StaticTypeAfterDynamicType","inputs":[]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"Store_InvalidStaticDataLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaDynamicLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidValueSchemaStaticLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"UD___calculateMagicAttack()":"e0cac377","UD___calculatePhysicalAttack((int256,int256,int256,int256,uint8[]),bytes32,bytes32,uint256,uint256)":"bf81ff5d","UD__applyEquipmentBonuses(bytes32)":"54f1f2db","UD__assignActionToCharacter(bytes32,bytes32)":"854cd561","UD__calculateGoldDrop(uint256,uint256)":"c3505171","UD__calculateItemDrop(uint256,uint256)":"2ef4cfcb","UD__checkRequirements(bytes32,uint256)":"bf4dbebc","UD__createAction(uint8,bytes)":"c3344bd2","UD__createItem(uint8,uint256,uint256,bytes,string)":"c2647a81","UD__createItems(uint8[],uint256[],uint256[],bytes[],string[])":"8a2d4e05","UD__createMatch(uint8,bytes32[],bytes32[])":"3e602b01","UD__createMob(uint8,bytes,string)":"8cc68cc7","UD__createMobs(uint8[],bytes[],string[])":"3f93a314","UD__dropGold(bytes32,uint256)":"fda0ce50","UD__dropItem(uint256,uint256,bytes32)":"88c571e1","UD__dropItems(uint256[],uint256[],bytes32[])":"e45cde14","UD__endTurn(bytes32,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"1f357129","UD__enterGame(bytes32)":"b968fa3a","UD__equipAction(bytes32,bytes32)":"3d37a73e","UD__equipItems(bytes32,uint256[])":"2d9ac2be","UD__executeCombat(uint256,bytes32,(bytes32,bytes32,bytes32,uint256)[])":"a0ba1f1e","UD__getArmorStats(uint256)":"e75aa93b","UD__getCharacterToken()":"49d8cf02","UD__getCharacterTokenId(bytes32)":"d97302d0","UD__getClass(bytes32)":"0ae6f9ab","UD__getCurrentAvailableLevel(uint256)":"d453e623","UD__getCurrentItemsCounter()":"4652f280","UD__getEncounter(bytes32)":"55faf03a","UD__getEntitiesAtPosition(uint16,uint16)":"d0f8a4f5","UD__getEntropy()":"b5c691c7","UD__getExperience(bytes32)":"a8b79e60","UD__getGoldToken()":"8b994e32","UD__getItemType(uint256)":"cdaccbae","UD__getItemsContract()":"997f897a","UD__getLootManagerSystem()":"f2cb96f2","UD__getMob(bytes32)":"5ac36570","UD__getMob(uint256)":"622834d0","UD__getMobId(bytes32)":"53d64640","UD__getMobPosition(bytes32)":"8b3f8277","UD__getMonsterStats(bytes32)":"e6c22e06","UD__getMonsterStats(uint256)":"91b22373","UD__getName(bytes32)":"e902af7a","UD__getNpcStats(bytes32)":"a17a6b7f","UD__getNpcStats(uint256)":"35c65325","UD__getOwner(bytes32)":"777c2caf","UD__getOwnerAddress(bytes32)":"4f10aabc","UD__getPlayerEntityId(uint256)":"02ee03fa","UD__getPythProvider()":"e24cefd9","UD__getSpawnCounter(bytes32)":"f4e1633b","UD__getStarterItems(uint8)":"b8bfeca1","UD__getStats(bytes32)":"14b13b0e","UD__getTotalSupply(uint256)":"37007d40","UD__getWeaponStats(uint256)":"810c1dc1","UD__isAtPosition(bytes32,uint16,uint16)":"f48a3972","UD__isEquipped(bytes32,uint256)":"7273e39a","UD__isItemOwner(uint256,address)":"b3634118","UD__isParticipant(address,bytes32[])":"18853912","UD__isParticipant(bytes32,bytes32)":"e9958ea4","UD__isValidCharacterId(bytes32)":"fa1becc4","UD__isValidMob(bytes32)":"bace814a","UD__isValidOwner(bytes32,address)":"43def638","UD__isValidPvE(bytes32[],bytes32[],uint16,uint16)":"c6d5525b","UD__issueStarterItems(bytes32)":"f9d175ed","UD__mintCharacter(address,bytes32,string)":"d408a43b","UD__move(bytes32,uint16,uint16)":"d1138fa1","UD__rollStats(bytes32,bytes32,uint8)":"18f14781","UD__setStarterItems(uint8,uint256[],uint256[])":"2f97d48f","UD__setTokenUri(uint256,string)":"d6556009","UD__spawn(bytes32)":"7e29a6f6","UD__spawnMob(uint256,uint16,uint16)":"15bc4248","UD__unequipItem(bytes32,uint256)":"7a190324","UD__updateTokenUri(bytes32,string)":"ecd73f84","batchCall((bytes32,bytes)[])":"ce5e8dd9","batchCallFrom((address,bytes32,bytes)[])":"8fc8cf7e","call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","grantAccess(bytes32,address)":"40554c3a","initialize(address)":"c4d66de8","installModule(address,bytes)":"8da798da","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,string)":"6548a90a","registerStoreHook(bytes32,address,uint8)":"530f4b60","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","registerTable(bytes32,bytes32,bytes32,bytes32,string[],string[])":"0ba51f49","renounceOwnership(bytes32)":"219adc2e","revokeAccess(bytes32,address)":"8d53b208","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","transferBalanceToAddress(bytes32,address,uint256)":"45afd199","transferBalanceToNamespace(bytes32,bytes32,uint256)":"c9c85a60","transferOwnership(bytes32,address)":"ef5d6bbb","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterStoreHook(bytes32,address)":"05609129","unregisterSystemHook(bytes32,address)":"a92813ad","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayout_Empty\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"staticDataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"computedStaticDataLength\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsNotZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyDynamicFields\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numFields\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFields\",\"type\":\"uint256\"}],\"name\":\"FieldLayout_TooManyFields\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_AlreadyInstalled\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dependency\",\"type\":\"address\"}],\"name\":\"Module_MissingDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_NonRootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_RootInstallNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"Schema_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Schema_StaticTypeAfterDynamicType\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidStaticDataLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaDynamicLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaStaticLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"UD___calculateMagicAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"bonusDamage\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"armorPenetration\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"attackModifierBonus\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"critChanceBonus\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"}],\"internalType\":\"struct PhysicalAttackStats\",\"name\":\"attackStats\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"attackerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD___calculatePhysicalAttack\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"damage\",\"type\":\"int256\"},{\"internalType\":\"bool\",\"name\":\"hit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"crit\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__applyEquipmentBonuses\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"adjustedStrength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedAgility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedIntelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedArmor\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"adjustedMaxHp\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"class\",\"type\":\"uint256\"}],\"internalType\":\"struct AdjustedCombatStats\",\"name\":\"modifiedStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__assignActionToCharacter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobLevel\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"}],\"name\":\"UD__calculateGoldDrop\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dropAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__calculateItemDrop\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__checkRequirements\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canUse\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"actionStats\",\"type\":\"bytes\"}],\"name\":\"UD__createAction\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"itemType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"dropChance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"itemMetadataURI\",\"type\":\"string\"}],\"name\":\"UD__createItem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ItemType[]\",\"name\":\"itemTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"uint256[]\",\"name\":\"supply\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"dropChances\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"itemMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"}],\"name\":\"UD__createMatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"stats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadataUri\",\"type\":\"string\"}],\"name\":\"UD__createMob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum MobType[]\",\"name\":\"mobTypes\",\"type\":\"uint8[]\"},{\"internalType\":\"bytes[]\",\"name\":\"stats\",\"type\":\"bytes[]\"},{\"internalType\":\"string[]\",\"name\":\"mobMetadataURIs\",\"type\":\"string[]\"}],\"name\":\"UD__createMobs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UD__dropGold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__dropItem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"characterIds\",\"type\":\"bytes32[]\"}],\"name\":\"UD__dropItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__endTurn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"}],\"name\":\"UD__equipAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"}],\"name\":\"UD__equipItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"randomNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"attackerEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"defenderEntityId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"actionId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"weaponId\",\"type\":\"uint256\"}],\"internalType\":\"struct Action[]\",\"name\":\"actions\",\"type\":\"tuple[]\"}],\"name\":\"UD__executeCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getArmorStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"armorModifier\",\"type\":\"uint256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct ArmorStats\",\"name\":\"_ArmorStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCharacterToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_characterToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"UD__getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getCurrentItemsCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getEncounter\",\"outputs\":[{\"components\":[{\"internalType\":\"enum EncounterType\",\"name\":\"encounterType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTurn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxTurns\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct CombatEncounterData\",\"name\":\"_encounterData\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getEntropy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_entropy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getGoldToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_goldToken\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getItemType\",\"outputs\":[{\"internalType\":\"enum ItemType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getItemsContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getLootManagerSystem\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_lootManager\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMob\",\"outputs\":[{\"components\":[{\"internalType\":\"enum MobType\",\"name\":\"mobType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"mobStats\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"mobMetadata\",\"type\":\"string\"}],\"internalType\":\"struct MobsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMobPosition\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getMonsterStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"armor\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"hitPoints\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"inventory\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"}],\"internalType\":\"struct MonsterStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getNpcStats\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"storyPathIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"enum Alignment\",\"name\":\"alignment\",\"type\":\"uint8\"}],\"internalType\":\"struct NPCStats\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UD__getPythProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_provider\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__getSpawnCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__getStarterItems\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"internalType\":\"struct StarterItemsData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UD__getTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__getWeaponStats\",\"outputs\":[{\"components\":[{\"internalType\":\"int256\",\"name\":\"agiModifier\",\"type\":\"int256\"},{\"internalType\":\"uint8[]\",\"name\":\"classRestrictions\",\"type\":\"uint8[]\"},{\"internalType\":\"int256\",\"name\":\"hitPointModifier\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"intModifier\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDamage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minLevel\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"strModifier\",\"type\":\"int256\"}],\"internalType\":\"struct WeaponStats\",\"name\":\"_weaponStats\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__isEquipped\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isEquipped\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"UD__isItemOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"participants\",\"type\":\"bytes32[]\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"playerId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"encounterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isParticipant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isParticipant\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__isValidMob\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"UD__isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"attackers\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"defenders\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__isValidPvE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isValidPvE\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"UD__issueStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"UD__rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"itemIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"}],\"name\":\"UD__setStarterItems\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__setTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"UD__spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"mobId\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"UD__spawnMob\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"itemId\",\"type\":\"uint256\"}],\"name\":\"UD__unequipItem\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"UD__updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCall\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct SystemCallFromData[]\",\"name\":\"systemCalls\",\"type\":\"tuple[]\"}],\"name\":\"batchCallFrom\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"returnDatas\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"grantAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"},{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"},{\"internalType\":\"string[]\",\"name\":\"keyNames\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"fieldNames\",\"type\":\"string[]\"}],\"name\":\"registerTable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"grantee\",\"type\":\"address\"}],\"name\":\"revokeAccess\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"toAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"fromNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"toNamespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferBalanceToNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStoreHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterStoreHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This is an autogenerated file; do not edit manually.\",\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"computedStaticDataLength\":\"The computed static data length.\",\"staticDataLength\":\"The static data length of the field layout.\"}}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"params\":{\"index\":\"The index of the field.\"}}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"params\":{\"maxFields\":\"The maximum number of fields a Schema can handle.\",\"numFields\":\"The total number of fields in the field layout.\"}}],\"Module_MissingDependency(address)\":[{\"params\":{\"dependency\":\"The address of the dependency.\"}}],\"Schema_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the schema.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidBounds(uint256,uint256)\":[{\"params\":{\"end\":\"The end index within the dynamic field for the slice operation (exclusive).\",\"start\":\"The start index within the dynamic field for the slice operation (inclusive).\"}}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"params\":{\"expected\":\"The expected length.\",\"received\":\"The provided length.\"}}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"Store_TableNotFound(bytes32,string)\":[{\"params\":{\"tableId\":\"The ID of the table.\",\"tableIdString\":\"The stringified ID of the table (for easier debugging if cleartext tableIds are used).\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The protocol version of the Store.\"}},\"HelloWorld(bytes32)\":{\"params\":{\"worldVersion\":\"The protocol version of the World.\"}},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).\",\"params\":{\"callData\":\"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.\",\"delegator\":\"The address on whose behalf the call is made.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"The abi encoded return data from the called system.\"}},\"creator()\":{\"returns\":{\"_0\":\"The address of the World's creator.\"}},\"initialize(address)\":{\"details\":\"Can only be called once by the creator.\",\"params\":{\"initModule\":\"The InitModule to be installed during initialization.\"}},\"installRootModule(address,bytes)\":{\"details\":\"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for the module installation.\",\"module\":\"The module to be installed.\"}},\"storeVersion()\":{\"returns\":{\"version\":\"The protocol version of the Store contract.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The protocol version of the World.\"}}},\"title\":\"IWorld\",\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"FieldLayout_Empty()\":[{\"notice\":\"Error raised when the provided field layout is empty.\"}],\"FieldLayout_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has an invalid static data length.\"}],\"FieldLayout_StaticLengthDoesNotFitInAWord(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length that does not fit in a word (32 bytes).\"}],\"FieldLayout_StaticLengthIsNotZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a nonzero static data length.\"}],\"FieldLayout_StaticLengthIsZero(uint256)\":[{\"notice\":\"Error raised when the provided field layout has a static data length of zero.\"}],\"FieldLayout_TooManyDynamicFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many dynamic fields.\"}],\"FieldLayout_TooManyFields(uint256,uint256)\":[{\"notice\":\"Error raised when the provided field layout has too many fields.\"}],\"Module_AlreadyInstalled()\":[{\"notice\":\"Error raised if the provided module is already installed.\"}],\"Module_MissingDependency(address)\":[{\"notice\":\"Error raised if the provided module is missing a dependency.\"}],\"Module_NonRootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in non-root is not supported.\"}],\"Module_RootInstallNotSupported()\":[{\"notice\":\"Error raised if installing in root is not supported.\"}],\"Schema_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided schema has an invalid length.\"}],\"Schema_StaticTypeAfterDynamicType()\":[{\"notice\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are invalid.\"}],\"Store_InvalidFieldNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided field names length is invalid.\"}],\"Store_InvalidKeyNamesLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided key names length is invalid.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"Store_InvalidStaticDataLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided static data length is invalid.\"}],\"Store_InvalidValueSchemaDynamicLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema dynamic length is invalid.\"}],\"Store_InvalidValueSchemaLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided value schema length is invalid.\"}],\"Store_InvalidValueSchemaStaticLength(uint256,uint256)\":[{\"notice\":\"Error raised if the provided schema static length is invalid.\"}],\"Store_TableAlreadyExists(bytes32,string)\":[{\"notice\":\"Error raised if the provided table already exists.\"}],\"Store_TableNotFound(bytes32,string)\":[{\"notice\":\"Error raised if the provided table cannot be found.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the Store is created.\"},\"HelloWorld(bytes32)\":{\"notice\":\"Emitted when the World is created.\"},\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"call(bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Call the system at the given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Retrieve the immutable original deployer of the World.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single dynamic field from the given tableId and key tuple\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Get a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single field from the given tableId and key tuple, with the given field layout\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed.\"},\"initialize(address)\":{\"notice\":\"Initializes the World.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Install the given root module in the World.\"},\"storeVersion()\":{\"notice\":\"Returns the protocol version of the Store contract.\"},\"worldVersion()\":{\"notice\":\"Retrieve the protocol version of the World.\"}},\"notice\":\"This interface integrates all systems and associated function selectors that are dynamically registered in the World during deployment.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/codegen/world/IWorld.sol\":\"IWorld\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayout_Empty"},{"inputs":[{"internalType":"uint256","name":"staticDataLength","type":"uint256"},{"internalType":"uint256","name":"computedStaticDataLength","type":"uint256"}],"type":"error","name":"FieldLayout_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthDoesNotFitInAWord"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsNotZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"FieldLayout_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyDynamicFields"},{"inputs":[{"internalType":"uint256","name":"numFields","type":"uint256"},{"internalType":"uint256","name":"maxFields","type":"uint256"}],"type":"error","name":"FieldLayout_TooManyFields"},{"inputs":[],"type":"error","name":"Module_AlreadyInstalled"},{"inputs":[{"internalType":"address","name":"dependency","type":"address"}],"type":"error","name":"Module_MissingDependency"},{"inputs":[],"type":"error","name":"Module_NonRootInstallNotSupported"},{"inputs":[],"type":"error","name":"Module_RootInstallNotSupported"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"Schema_InvalidLength"},{"inputs":[],"type":"error","name":"Schema_StaticTypeAfterDynamicType"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidStaticDataLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaDynamicLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaStaticLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"nonpayable","type":"function","name":"UD___calculateMagicAttack"},{"inputs":[{"internalType":"struct PhysicalAttackStats","name":"attackStats","type":"tuple","components":[{"internalType":"int256","name":"bonusDamage","type":"int256"},{"internalType":"int256","name":"armorPenetration","type":"int256"},{"internalType":"int256","name":"attackModifierBonus","type":"int256"},{"internalType":"int256","name":"critChanceBonus","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"}]},{"internalType":"bytes32","name":"attackerId","type":"bytes32"},{"internalType":"bytes32","name":"defenderId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD___calculatePhysicalAttack","outputs":[{"internalType":"int256","name":"damage","type":"int256"},{"internalType":"bool","name":"hit","type":"bool"},{"internalType":"bool","name":"crit","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__applyEquipmentBonuses","outputs":[{"internalType":"struct AdjustedCombatStats","name":"modifiedStats","type":"tuple","components":[{"internalType":"uint256","name":"adjustedStrength","type":"uint256"},{"internalType":"uint256","name":"adjustedAgility","type":"uint256"},{"internalType":"uint256","name":"adjustedIntelligence","type":"uint256"},{"internalType":"uint256","name":"adjustedArmor","type":"uint256"},{"internalType":"uint256","name":"adjustedMaxHp","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"class","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__assignActionToCharacter"},{"inputs":[{"internalType":"uint256","name":"mobLevel","type":"uint256"},{"internalType":"uint256","name":"randomNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateGoldDrop","outputs":[{"internalType":"uint256","name":"dropAmount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__calculateItemDrop","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__checkRequirements","outputs":[{"internalType":"bool","name":"canUse","type":"bool"}]},{"inputs":[{"internalType":"enum ActionType","name":"actionType","type":"uint8"},{"internalType":"bytes","name":"actionStats","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"UD__createAction","outputs":[{"internalType":"bytes32","name":"actionId","type":"bytes32"}]},{"inputs":[{"internalType":"enum ItemType","name":"itemType","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint256","name":"dropChance","type":"uint256"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"itemMetadataURI","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItem","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ItemType[]","name":"itemTypes","type":"uint8[]"},{"internalType":"uint256[]","name":"supply","type":"uint256[]"},{"internalType":"uint256[]","name":"dropChances","type":"uint256[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"itemMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createItems"},{"inputs":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMatch","outputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}]},{"inputs":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"stats","type":"bytes"},{"internalType":"string","name":"mobMetadataUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMob","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum MobType[]","name":"mobTypes","type":"uint8[]"},{"internalType":"bytes[]","name":"stats","type":"bytes[]"},{"internalType":"string[]","name":"mobMetadataURIs","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__createMobs"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropGold"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItem"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[]","name":"characterIds","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__dropItems"},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"payable","type":"function","name":"UD__endTurn"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipAction"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__equipItems"},{"inputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"},{"internalType":"struct Action[]","name":"actions","type":"tuple[]","components":[{"internalType":"bytes32","name":"attackerEntityId","type":"bytes32"},{"internalType":"bytes32","name":"defenderEntityId","type":"bytes32"},{"internalType":"bytes32","name":"actionId","type":"bytes32"},{"internalType":"uint256","name":"weaponId","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"UD__executeCombat"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getArmorStats","outputs":[{"internalType":"struct ArmorStats","name":"_ArmorStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint256","name":"armorModifier","type":"uint256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCharacterToken","outputs":[{"internalType":"address","name":"_characterToken","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getCurrentItemsCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getEncounter","outputs":[{"internalType":"struct CombatEncounterData","name":"_encounterData","type":"tuple","components":[{"internalType":"enum EncounterType","name":"encounterType","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"currentTurn","type":"uint256"},{"internalType":"uint256","name":"maxTurns","type":"uint256"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"}]}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getEntropy","outputs":[{"internalType":"address","name":"_entropy","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getGoldToken","outputs":[{"internalType":"address","name":"_goldToken","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getItemType","outputs":[{"internalType":"enum ItemType","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getItemsContract","outputs":[{"internalType":"address","name":"_erc1155","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getLootManagerSystem","outputs":[{"internalType":"address","name":"_lootManager","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMob","outputs":[{"internalType":"struct MobsData","name":"","type":"tuple","components":[{"internalType":"enum MobType","name":"mobType","type":"uint8"},{"internalType":"bytes","name":"mobStats","type":"bytes"},{"internalType":"string","name":"mobMetadata","type":"string"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getMobPosition","outputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getMonsterStats","outputs":[{"internalType":"struct MonsterStats","name":"","type":"tuple","components":[{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"uint256","name":"armor","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"hitPoints","type":"uint256"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256[]","name":"inventory","type":"uint256[]"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"strength","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getNpcStats","outputs":[{"internalType":"struct NPCStats","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32[]","name":"storyPathIds","type":"bytes32[]"},{"internalType":"enum Alignment","name":"alignment","type":"uint8"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UD__getPythProvider","outputs":[{"internalType":"address","name":"_provider","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"UD__getSpawnCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"view","type":"function","name":"UD__getStarterItems","outputs":[{"internalType":"struct StarterItemsData","name":"data","type":"tuple","components":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getTotalSupply","outputs":[{"internalType":"uint256","name":"_supply","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__getWeaponStats","outputs":[{"internalType":"struct WeaponStats","name":"_weaponStats","type":"tuple","components":[{"internalType":"int256","name":"agiModifier","type":"int256"},{"internalType":"uint8[]","name":"classRestrictions","type":"uint8[]"},{"internalType":"int256","name":"hitPointModifier","type":"int256"},{"internalType":"int256","name":"intModifier","type":"int256"},{"internalType":"uint256","name":"maxDamage","type":"uint256"},{"internalType":"uint256","name":"minDamage","type":"uint256"},{"internalType":"uint256","name":"minLevel","type":"uint256"},{"internalType":"int256","name":"strModifier","type":"int256"}]}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"view","type":"function","name":"UD__isEquipped","outputs":[{"internalType":"bool","name":"_isEquipped","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isItemOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32[]","name":"participants","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"playerId","type":"bytes32"},{"internalType":"bytes32","name":"encounterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isParticipant","outputs":[{"internalType":"bool","name":"_isParticipant","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"UD__isValidMob","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"UD__isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32[]","name":"attackers","type":"bytes32[]"},{"internalType":"bytes32[]","name":"defenders","type":"bytes32[]"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"UD__isValidPvE","outputs":[{"internalType":"bool","name":"_isValidPvE","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__issueStarterItems"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__move"},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"UD__rollStats"},{"inputs":[{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"UD__setStarterItems"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__setTokenUri"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawn"},{"inputs":[{"internalType":"uint256","name":"mobId","type":"uint256"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"UD__spawnMob","outputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"UD__unequipItem","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"UD__updateTokenUri"},{"inputs":[{"internalType":"struct SystemCallData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCall","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"struct SystemCallFromData[]","name":"systemCalls","type":"tuple[]","components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"batchCallFrom","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantAccess"},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installModule"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"},{"internalType":"Schema","name":"keySchema","type":"bytes32"},{"internalType":"Schema","name":"valueSchema","type":"bytes32"},{"internalType":"string[]","name":"keyNames","type":"string[]"},{"internalType":"string[]","name":"fieldNames","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"registerTable"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"address","name":"grantee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeAccess"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"view","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"version","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"address","name":"toAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToAddress"},{"inputs":[{"internalType":"ResourceId","name":"fromNamespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"toNamespaceId","type":"bytes32"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferBalanceToNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"contract IStoreHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterStoreHook"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If the system is not public, the caller must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"callFrom(address,bytes32,bytes)":{"details":"If the system is not public, the delegator must have access to the namespace or name (encoded in the system ID).","params":{"callData":"The data to pass with the call, function selector (4 bytes) followed by the ABI encoded parameters.","delegator":"The address on whose behalf the call is made.","systemId":"The ID of the system to be called."},"returns":{"_0":"The abi encoded return data from the called system."}},"creator()":{"returns":{"_0":"The address of the World's creator."}},"initialize(address)":{"details":"Can only be called once by the creator.","params":{"initModule":"The InitModule to be installed during initialization."}},"installRootModule(address,bytes)":{"details":"Requires the caller to own the root namespace. The module is delegatecalled and installed in the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for the module installation.","module":"The module to be installed."}},"storeVersion()":{"returns":{"version":"The protocol version of the Store contract."}},"worldVersion()":{"returns":{"_0":"The protocol version of the World."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Call the system at the given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Call the system at the given system ID on behalf of the given delegator."},"creator()":{"notice":"Retrieve the immutable original deployer of the World."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Get a single dynamic field from the given tableId and key tuple at the given dynamic field index. (Dynamic field index = field index - number of static fields)"},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single dynamic field from the given tableId and key tuple"},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Get a byte slice (including start, excluding end) of a single dynamic field from the given tableId and key tuple, with the given value field layout. The slice is unchecked and will return invalid data if `start`:`end` overflow."},"getField(bytes32,bytes32[],uint8)":{"notice":"Get a single field from the given tableId and key tuple, loading the field layout from storage"},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single field from the given tableId and key tuple, with the given field layout"},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, loading the field layout from storage"},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get the byte length of a single field from the given tableId and key tuple, with the given value field layout"},"getRecord(bytes32,bytes32[])":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, loading the field layout from storage"},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Get full record (all fields, static and dynamic data) for the given tableId and key tuple, with the given field layout"},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Get a single static field from the given tableId and key tuple, with the given value field layout. Note: the field value is left-aligned in the returned bytes32, the rest of the word is not zeroed out. Consumers are expected to truncate the returned value as needed."},"initialize(address)":{"notice":"Initializes the World."},"installRootModule(address,bytes)":{"notice":"Install the given root module in the World."},"storeVersion()":{"notice":"Returns the protocol version of the Store contract."},"worldVersion()":{"notice":"Retrieve the protocol version of the World."}},"version":1}},"settings":{"remappings":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/codegen/world/IWorld.sol":"IWorld"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"}},"version":1},"id":205}
\ No newline at end of file
diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json
index cd2cda53c..845602636 100644
--- a/packages/contracts/out/MapSystem.sol/MapSystem.json
+++ b/packages/contracts/out/MapSystem.sol/MapSystem.json
@@ -1,1783 +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": "getEntitiesAtPosition",
- "inputs": [
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [
- {
- "name": "entitiesAtPosition",
- "type": "bytes32[]",
- "internalType": "bytes32[]"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "isAtPosition",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [
- {
- "name": "_isAtPosition",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "view"
- },
- {
- "type": "function",
- "name": "move",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- },
- {
- "name": "x",
- "type": "uint16",
- "internalType": "uint16"
- },
- {
- "name": "y",
- "type": "uint16",
- "internalType": "uint16"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "spawn",
- "inputs": [
- {
- "name": "entityId",
- "type": "bytes32",
- "internalType": "bytes32"
- }
- ],
- "outputs": [],
- "stateMutability": "nonpayable"
- },
- {
- "type": "function",
- "name": "supportsInterface",
- "inputs": [
- {
- "name": "interfaceId",
- "type": "bytes4",
- "internalType": "bytes4"
- }
- ],
- "outputs": [
- {
- "name": "",
- "type": "bool",
- "internalType": "bool"
- }
- ],
- "stateMutability": "pure"
- },
- {
- "type": "event",
- "name": "Store_SetRecord",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "staticData",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false,
- "internalType": "EncodedLengths"
- },
- {
- "name": "dynamicData",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "type": "event",
- "name": "Store_SpliceDynamicData",
- "inputs": [
- {
- "name": "tableId",
- "type": "bytes32",
- "indexed": true,
- "internalType": "ResourceId"
- },
- {
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false,
- "internalType": "bytes32[]"
- },
- {
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "indexed": false,
- "internalType": "uint8"
- },
- {
- "name": "start",
- "type": "uint48",
- "indexed": false,
- "internalType": "uint48"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "indexed": false,
- "internalType": "uint40"
- },
- {
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false,
- "internalType": "EncodedLengths"
- },
- {
- "name": "data",
- "type": "bytes",
- "indexed": false,
- "internalType": "bytes"
- }
- ],
- "anonymous": false
- },
- {
- "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": "EncodedLengths_InvalidLength",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "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_IndexOutOfBounds",
- "inputs": [
- {
- "name": "length",
- "type": "uint256",
- "internalType": "uint256"
- },
- {
- "name": "accessedIndex",
- "type": "uint256",
- "internalType": "uint256"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidResourceType",
- "inputs": [
- {
- "name": "expected",
- "type": "bytes2",
- "internalType": "bytes2"
- },
- {
- "name": "resourceId",
- "type": "bytes32",
- "internalType": "ResourceId"
- },
- {
- "name": "resourceIdString",
- "type": "string",
- "internalType": "string"
- }
- ]
- },
- {
- "type": "error",
- "name": "Store_InvalidSplice",
- "inputs": [
- {
- "name": "startWithinField",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "deleteCount",
- "type": "uint40",
- "internalType": "uint40"
- },
- {
- "name": "fieldLength",
- "type": "uint40",
- "internalType": "uint40"
- }
- ]
- },
- {
- "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": "0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220053cba1e3ac40a56108edce34eefa1531cb77e974b1eb3bcf098a3497d365a8e64736f6c63430008180033",
- "sourceMap": "412:4148:217:-:0;;;;;;;;;;;;;;;;;;;",
- "linkReferences": {
- "src/libraries/LibChunks.sol": {
- "LibChunks": [
- {
- "start": 3486,
- "length": 20
- },
- {
- "start": 3673,
- "length": 20
- }
- ]
- }
- }
- },
- "deployedBytecode": {
- "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220053cba1e3ac40a56108edce34eefa1531cb77e974b1eb3bcf098a3497d365a8e64736f6c63430008180033",
- "sourceMap": "412:4148:217:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:230;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:230;;;689:74;;677:2;662:18;1262:113:123;543:226:230;1755:239:217;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:230;;1401:2;1386:18;1616:110:123;1267:177:230;1580:169:217;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:217:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:217:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:217;;1279:70;;;;-1:-1:-1;;;1279:70:217;;2807:2:230;1279:70:217;;;2789:21:230;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:217;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:217;;3212:2:230;1360:67:217;;;3194:21:230;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:217;3010:349:230;1360:67:217;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:217;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:217;;605:69;;;;-1:-1:-1;;;605:69:217;;3566:2:230;605:69:217;;;3548:21:230;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:217;3364:399:230;605:69:217;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:217;;3970:2:230;685:62:217;;;3952:21:230;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:217;3768:345:230;685:62:217;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:217;;4320:2:230;885:37:217;;;4302:21:230;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:217;4118:339:230;885:37:217;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:217;;4664:2:230;932:38:217;;;4646:21:230;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:217;4462:339:230;932:38:217;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:217;;5008:2:230;980:91:217;;;4990:21:230;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:217;4806:354:230;980:91:217;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:191:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:191;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:182:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:182;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:182:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:193:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:193;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:193:o;5796:354:191:-;7947:22;;;16149:3:230;16145:16;;;16054:66;16141:25;;;7947:22:191;;;;16129:38:230;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:191;;;;;;;;;6023:1;16238:11:230;;;6009:16:191;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:191;;-1:-1:-1;;6023:1:191;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:191;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:193:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:193;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:230;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:193;;;;-1:-1:-1;;4107:27:193;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:182:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:182;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;9759:28:182;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:185:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:217:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:217;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:217:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:217;;7009:2:230;4393:63:217;;;6991:21:230;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:217;6807:355:230;4393:63:217;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:217;;7369:2:230;2296:80:217;;;7351:21:230;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:217;7167:403:230;2296:80:217;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:230;;1401:2;1386:18;;1267:177;2515:42:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:217;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:230;2594:9:217;;:20;;1386:18:230;;2594:38:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:217;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:230;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:217;;;;-1:-1:-1;;2754:148:217;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:217;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:191:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:191;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:191;-1:-1:-1;;;;7036:160:191:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:182:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:182;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;12402:28:182;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:182;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:217:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:188:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:188;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:230;18911:18;;3713:52:107;18794:248:230;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:217:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:217;;3609:106;-1:-1:-1;3609:106:217:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:230;25536:15;;;45340:92:45;;;25518:34:230;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:230;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:230;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:230;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:230;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:230;;51494:30:45;27964:279:230;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:230;;;1386:18;;7664:67:24;1267:177:230;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:230;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:230;30142:79;;2092:30:124;;;30130:92:230;2092:30:124;;30238:12:230;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:193;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:193;6914:97;14:332:230;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:230;;1710:439;-1:-1:-1;;;;;1710:439:230:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:230;;2420:180;-1:-1:-1;2420:180:230:o;5165:184::-;-1:-1:-1;;;5214:1:230;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:230;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:230;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:230;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:230;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:230;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:230;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:230;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:230;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:230;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:230;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:230:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:230;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:230:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:230:o;10716:184::-;-1:-1:-1;;;10765:1:230;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:230:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:230;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:230;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:230;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:230;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:230:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:230;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:230:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:230;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:230:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:230;;15702:184;-1:-1:-1;15702:184:230:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:230:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:230:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:230;;21043:640;-1:-1:-1;;;;;;;21043:640:230:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:230:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:230:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:230:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:230;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:230:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:230:o",
- "linkReferences": {
- "src/libraries/LibChunks.sol": {
- "LibChunks": [
- {
- "start": 3454,
- "length": 20
- },
- {
- "start": 3641,
- "length": 20
- }
- ]
- }
- }
- },
- "methodIdentifiers": {
- "_msgSender()": "119df25f",
- "_msgValue()": "45ec9354",
- "_world()": "e1af802c",
- "getEntitiesAtPosition(uint16,uint16)": "69e10c7b",
- "isAtPosition(bytes32,uint16,uint16)": "3fbf0c5a",
- "move(bytes32,uint16,uint16)": "953717d1",
- "spawn(bytes32)": "911c37ae",
- "supportsInterface(bytes4)": "01ffc9a7"
- },
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9\",\"dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947\",\"dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56\",\"dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}",
- "metadata": {
- "compiler": {
- "version": "0.8.24+commit.e11b9ed9"
- },
- "language": "Solidity",
- "output": {
- "abi": [
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "length",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "EncodedLengths_InvalidLength"
- },
- {
- "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": "uint256",
- "name": "length",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "accessedIndex",
- "type": "uint256"
- }
- ],
- "type": "error",
- "name": "Store_IndexOutOfBounds"
- },
- {
- "inputs": [
- {
- "internalType": "bytes2",
- "name": "expected",
- "type": "bytes2"
- },
- {
- "internalType": "ResourceId",
- "name": "resourceId",
- "type": "bytes32"
- },
- {
- "internalType": "string",
- "name": "resourceIdString",
- "type": "string"
- }
- ],
- "type": "error",
- "name": "Store_InvalidResourceType"
- },
- {
- "inputs": [
- {
- "internalType": "uint40",
- "name": "startWithinField",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40"
- },
- {
- "internalType": "uint40",
- "name": "fieldLength",
- "type": "uint40"
- }
- ],
- "type": "error",
- "name": "Store_InvalidSplice"
- },
- {
- "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": "bytes",
- "name": "staticData",
- "type": "bytes",
- "indexed": false
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "dynamicData",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SetRecord",
- "anonymous": false
- },
- {
- "inputs": [
- {
- "internalType": "ResourceId",
- "name": "tableId",
- "type": "bytes32",
- "indexed": true
- },
- {
- "internalType": "bytes32[]",
- "name": "keyTuple",
- "type": "bytes32[]",
- "indexed": false
- },
- {
- "internalType": "uint8",
- "name": "dynamicFieldIndex",
- "type": "uint8",
- "indexed": false
- },
- {
- "internalType": "uint48",
- "name": "start",
- "type": "uint48",
- "indexed": false
- },
- {
- "internalType": "uint40",
- "name": "deleteCount",
- "type": "uint40",
- "indexed": false
- },
- {
- "internalType": "EncodedLengths",
- "name": "encodedLengths",
- "type": "bytes32",
- "indexed": false
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes",
- "indexed": false
- }
- ],
- "type": "event",
- "name": "Store_SpliceDynamicData",
- "anonymous": false
- },
- {
- "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": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "getEntitiesAtPosition",
- "outputs": [
- {
- "internalType": "bytes32[]",
- "name": "entitiesAtPosition",
- "type": "bytes32[]"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- },
- {
- "internalType": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ],
- "stateMutability": "view",
- "type": "function",
- "name": "isAtPosition",
- "outputs": [
- {
- "internalType": "bool",
- "name": "_isAtPosition",
- "type": "bool"
- }
- ]
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- },
- {
- "internalType": "uint16",
- "name": "x",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "y",
- "type": "uint16"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "move"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "entityId",
- "type": "bytes32"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function",
- "name": "spawn"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "stateMutability": "pure",
- "type": "function",
- "name": "supportsInterface",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ]
- }
- ],
- "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": [
- "@codegen/=src/codegen/",
- "@erc1155/=lib/ERC1155-puppet/",
- "@interfaces/=src/interfaces/",
- "@latticexyz/=node_modules/@latticexyz/",
- "@libraries/=src/libraries/",
- "@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/",
- "@openzeppelin/=node_modules/@openzeppelin/contracts/",
- "@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/",
- "@systems/=src/systems/",
- "@tables/=src/codegen/tables/",
- "@test/=test/",
- "@world/=src/codegen/world/",
- "ERC1155-puppet/=lib/ERC1155-puppet/",
- "ds-test/=node_modules/ds-test/src/",
- "forge-std/=node_modules/forge-std/src/"
- ],
- "optimizer": {
- "enabled": true,
- "runs": 3000
- },
- "metadata": {
- "bytecodeHash": "ipfs"
- },
- "compilationTarget": {
- "src/systems/MapSystem.sol": "MapSystem"
- },
- "evmVersion": "paris",
- "libraries": {}
- },
- "sources": {
- "node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol": {
- "keccak256": "0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a",
- "urls": [
- "bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44",
- "dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Bytes.sol": {
- "keccak256": "0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8",
- "urls": [
- "bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35",
- "dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/EncodedLengths.sol": {
- "keccak256": "0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774",
- "urls": [
- "bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09",
- "dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/FieldLayout.sol": {
- "keccak256": "0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658",
- "urls": [
- "bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7",
- "dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Hook.sol": {
- "keccak256": "0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e",
- "urls": [
- "bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3",
- "dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IERC165.sol": {
- "keccak256": "0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927",
- "urls": [
- "bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2",
- "dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol": {
- "keccak256": "0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa",
- "urls": [
- "bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba",
- "dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol": {
- "keccak256": "0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53",
- "urls": [
- "bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817",
- "dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ISchemaErrors.sol": {
- "keccak256": "0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441",
- "urls": [
- "bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d",
- "dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ISliceErrors.sol": {
- "keccak256": "0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c",
- "urls": [
- "bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883",
- "dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStore.sol": {
- "keccak256": "0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706",
- "urls": [
- "bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc",
- "dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreErrors.sol": {
- "keccak256": "0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912",
- "urls": [
- "bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6",
- "dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreEvents.sol": {
- "keccak256": "0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a",
- "urls": [
- "bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08",
- "dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreHook.sol": {
- "keccak256": "0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4",
- "urls": [
- "bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562",
- "dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreKernel.sol": {
- "keccak256": "0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89",
- "urls": [
- "bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0",
- "dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreRead.sol": {
- "keccak256": "0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b",
- "urls": [
- "bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db",
- "dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreRegistration.sol": {
- "keccak256": "0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b",
- "urls": [
- "bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a",
- "dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/IStoreWrite.sol": {
- "keccak256": "0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba",
- "urls": [
- "bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890",
- "dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Memory.sol": {
- "keccak256": "0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811",
- "urls": [
- "bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392",
- "dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/ResourceId.sol": {
- "keccak256": "0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2",
- "urls": [
- "bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0",
- "dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Schema.sol": {
- "keccak256": "0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7",
- "urls": [
- "bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3",
- "dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Slice.sol": {
- "keccak256": "0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345",
- "urls": [
- "bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4",
- "dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/Storage.sol": {
- "keccak256": "0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3",
- "urls": [
- "bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee",
- "dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/StoreCore.sol": {
- "keccak256": "0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861",
- "urls": [
- "bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2",
- "dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/StoreSwitch.sol": {
- "keccak256": "0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40",
- "urls": [
- "bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91",
- "dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/index.sol": {
- "keccak256": "0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85",
- "urls": [
- "bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4",
- "dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol": {
- "keccak256": "0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394",
- "urls": [
- "bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53",
- "dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol": {
- "keccak256": "0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64",
- "urls": [
- "bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905",
- "dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol": {
- "keccak256": "0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c",
- "urls": [
- "bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6",
- "dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/codegen/tables/Tables.sol": {
- "keccak256": "0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09",
- "urls": [
- "bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc",
- "dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/constants.sol": {
- "keccak256": "0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6",
- "urls": [
- "bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168",
- "dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/rightMask.sol": {
- "keccak256": "0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275",
- "urls": [
- "bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754",
- "dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/storeHookTypes.sol": {
- "keccak256": "0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572",
- "urls": [
- "bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3",
- "dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/storeResourceTypes.sol": {
- "keccak256": "0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261",
- "urls": [
- "bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586",
- "dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol": {
- "keccak256": "0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152",
- "urls": [
- "bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e",
- "dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol": {
- "keccak256": "0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3",
- "urls": [
- "bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea",
- "dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol": {
- "keccak256": "0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8",
- "urls": [
- "bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3",
- "dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/store/src/version.sol": {
- "keccak256": "0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a",
- "urls": [
- "bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a",
- "dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol": {
- "keccak256": "0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7",
- "urls": [
- "bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9",
- "dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/AccessControl.sol": {
- "keccak256": "0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e",
- "urls": [
- "bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899",
- "dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IERC165.sol": {
- "keccak256": "0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d",
- "urls": [
- "bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7",
- "dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IModule.sol": {
- "keccak256": "0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57",
- "urls": [
- "bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2",
- "dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IModuleErrors.sol": {
- "keccak256": "0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d",
- "urls": [
- "bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea",
- "dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/ISystemHook.sol": {
- "keccak256": "0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721",
- "urls": [
- "bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f",
- "dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldContextConsumer.sol": {
- "keccak256": "0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299",
- "urls": [
- "bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255",
- "dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldErrors.sol": {
- "keccak256": "0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b",
- "urls": [
- "bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf",
- "dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldEvents.sol": {
- "keccak256": "0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243",
- "urls": [
- "bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57",
- "dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/IWorldKernel.sol": {
- "keccak256": "0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b",
- "urls": [
- "bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092",
- "dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/System.sol": {
- "keccak256": "0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd",
- "urls": [
- "bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f",
- "dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/SystemCall.sol": {
- "keccak256": "0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af",
- "urls": [
- "bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5",
- "dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/WorldContext.sol": {
- "keccak256": "0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9",
- "urls": [
- "bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e",
- "dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/WorldResourceId.sol": {
- "keccak256": "0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee",
- "urls": [
- "bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea",
- "dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol": {
- "keccak256": "0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc",
- "urls": [
- "bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48",
- "dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol": {
- "keccak256": "0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4",
- "urls": [
- "bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83",
- "dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol": {
- "keccak256": "0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17",
- "urls": [
- "bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81",
- "dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol": {
- "keccak256": "0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c",
- "urls": [
- "bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2",
- "dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol": {
- "keccak256": "0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35",
- "urls": [
- "bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b",
- "dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol": {
- "keccak256": "0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800",
- "urls": [
- "bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c",
- "dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol": {
- "keccak256": "0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c",
- "urls": [
- "bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27",
- "dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/Balances.sol": {
- "keccak256": "0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d",
- "urls": [
- "bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a",
- "dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol": {
- "keccak256": "0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926",
- "urls": [
- "bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791",
- "dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol": {
- "keccak256": "0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614",
- "urls": [
- "bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597",
- "dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol": {
- "keccak256": "0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc",
- "urls": [
- "bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e",
- "dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol": {
- "keccak256": "0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f",
- "urls": [
- "bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674",
- "dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/codegen/tables/Systems.sol": {
- "keccak256": "0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c",
- "urls": [
- "bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7",
- "dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"
- ],
- "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/types.sol": {
- "keccak256": "0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc",
- "urls": [
- "bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525",
- "dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/revertWithBytes.sol": {
- "keccak256": "0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5",
- "urls": [
- "bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359",
- "dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/systemHookTypes.sol": {
- "keccak256": "0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a",
- "urls": [
- "bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d",
- "dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"
- ],
- "license": "MIT"
- },
- "node_modules/@latticexyz/world/src/worldResourceTypes.sol": {
- "keccak256": "0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465",
- "urls": [
- "bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea",
- "dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"
- ],
- "license": "MIT"
- },
- "src/codegen/common.sol": {
- "keccak256": "0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42",
- "urls": [
- "bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085",
- "dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"
- ],
- "license": "MIT"
- },
- "src/codegen/index.sol": {
- "keccak256": "0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0",
- "urls": [
- "bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2",
- "dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Actions.sol": {
- "keccak256": "0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef",
- "urls": [
- "bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392",
- "dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Admin.sol": {
- "keccak256": "0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725",
- "urls": [
- "bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614",
- "dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CharacterEquipment.sol": {
- "keccak256": "0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32",
- "urls": [
- "bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2",
- "dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Characters.sol": {
- "keccak256": "0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98",
- "urls": [
- "bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893",
- "dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/CombatEncounter.sol": {
- "keccak256": "0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696",
- "urls": [
- "bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405",
- "dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Counters.sol": {
- "keccak256": "0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d",
- "urls": [
- "bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8",
- "dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/EntitiesAtPosition.sol": {
- "keccak256": "0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501",
- "urls": [
- "bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4",
- "dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Items.sol": {
- "keccak256": "0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f",
- "urls": [
- "bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f",
- "dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Levels.sol": {
- "keccak256": "0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327",
- "urls": [
- "bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4",
- "dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MapConfig.sol": {
- "keccak256": "0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27",
- "urls": [
- "bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3",
- "dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MatchEntity.sol": {
- "keccak256": "0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2",
- "urls": [
- "bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b",
- "dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Mobs.sol": {
- "keccak256": "0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3",
- "urls": [
- "bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060",
- "dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/MobsByLevel.sol": {
- "keccak256": "0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d",
- "urls": [
- "bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5",
- "dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Name.sol": {
- "keccak256": "0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99",
- "urls": [
- "bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4",
- "dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/NameExists.sol": {
- "keccak256": "0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab",
- "urls": [
- "bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf",
- "dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Position.sol": {
- "keccak256": "0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d",
- "urls": [
- "bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa",
- "dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/RandomNumbers.sol": {
- "keccak256": "0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22",
- "urls": [
- "bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5",
- "dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Spawned.sol": {
- "keccak256": "0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c",
- "urls": [
- "bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905",
- "dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/StarterItems.sol": {
- "keccak256": "0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3",
- "urls": [
- "bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3",
- "dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/Stats.sol": {
- "keccak256": "0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891",
- "urls": [
- "bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227",
- "dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"
- ],
- "license": "MIT"
- },
- "src/codegen/tables/UltimateDominionConfig.sol": {
- "keccak256": "0x16de02a3b0aa88fae2b0349114d0ce2532601dc2befbdc04f5ff837249f85d58",
- "urls": [
- "bzz-raw://15e52e9d0595d260e379d6efd9d5e03ef49196dd9bcb051f41dfe39a4334e7c9",
- "dweb:/ipfs/QmWnEHG6fEEWqEtyZqR3ZUjUN9kbC1NCXu3EJ3ZwyYcTgs"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IActionSystem.sol": {
- "keccak256": "0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d",
- "urls": [
- "bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f",
- "dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ICharacterSystem.sol": {
- "keccak256": "0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235",
- "urls": [
- "bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782",
- "dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ICombatSystem.sol": {
- "keccak256": "0x62fb71a6a0ceb843ed6178dd8e17ad803b31757b8d8ed4b5396bbcc76c9c4b09",
- "urls": [
- "bzz-raw://e12826f85d947a53a72f46320862d5c7f43278a1911e20e2a52f58341538f947",
- "dweb:/ipfs/QmdNdsquybgjTh4eJvc9XFf2pVUJMnVFP2cbDSHkAWFnWD"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IEquipmentSystem.sol": {
- "keccak256": "0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3",
- "urls": [
- "bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa",
- "dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IItemsSystem.sol": {
- "keccak256": "0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b",
- "urls": [
- "bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b",
- "dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"
- ],
- "license": "MIT"
- },
- "src/codegen/world/ILootManagerSystem.sol": {
- "keccak256": "0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864",
- "urls": [
- "bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0",
- "dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IMapSystem.sol": {
- "keccak256": "0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80",
- "urls": [
- "bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e",
- "dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IMobSystem.sol": {
- "keccak256": "0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391",
- "urls": [
- "bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c",
- "dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IUltimateDominionConfigSystem.sol": {
- "keccak256": "0x2a8e110dc8f1137e5c360211681ad9e5e919e0d7c74cd49cda08bad35b42ea4f",
- "urls": [
- "bzz-raw://3b048445bea00e1427f215add1e236adda393256089fc04edae8b69d77bf9e56",
- "dweb:/ipfs/QmbM8cvoQjskMR8ozg28Rzj6AgvwNwRepDkFYymS3Xispf"
- ],
- "license": "MIT"
- },
- "src/codegen/world/IWorld.sol": {
- "keccak256": "0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4",
- "urls": [
- "bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64",
- "dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"
- ],
- "license": "MIT"
- },
- "src/interfaces/Structs.sol": {
- "keccak256": "0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de",
- "urls": [
- "bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5",
- "dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"
- ],
- "license": "MIT"
- },
- "src/libraries/LibChunks.sol": {
- "keccak256": "0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767",
- "urls": [
- "bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9",
- "dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"
- ],
- "license": "MIT"
- },
- "src/systems/MapSystem.sol": {
- "keccak256": "0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8",
- "urls": [
- "bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732",
- "dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"
- ],
- "license": "MIT"
- }
- },
- "version": 1
- },
- "id": 217
-}
\ No newline at end of file
+{"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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220c47d61b49bc23938b62fc8aa7c841674bfa06b7af56051568dd65a107a781da864736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220c47d61b49bc23938b62fc8aa7c841674bfa06b7af56051568dd65a107a781da864736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:228;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:228;;;689:74;;677:2;662:18;1262:113:123;543:226:228;1755:239:216;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:228;;1401:2;1386:18;1616:110:123;1267:177:228;1580:169:216;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:216:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:216:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:216;;1279:70;;;;-1:-1:-1;;;1279:70:216;;2807:2:228;1279:70:216;;;2789:21:228;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:216;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:216;;3212:2:228;1360:67:216;;;3194:21:228;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:216;3010:349:228;1360:67:216;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:216;;605:69;;;;-1:-1:-1;;;605:69:216;;3566:2:228;605:69:216;;;3548:21:228;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:216;3364:399:228;605:69:216;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:216;;3970:2:228;685:62:216;;;3952:21:228;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:216;3768:345:228;685:62:216;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:216;;4320:2:228;885:37:216;;;4302:21:228;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:216;4118:339:228;885:37:216;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:216;;4664:2:228;932:38:216;;;4646:21:228;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:216;4462:339:228;932:38:216;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:216;;5008:2:228;980:91:216;;;4990:21:228;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:216;4806:354:228;980:91:216;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:190:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:190;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:181:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:181;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:181:o;4071:290:178:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:178;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:178:o;2592:291:192:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:192;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:192:o;5796:354:190:-;7947:22;;;16149:3:228;16145:16;;;16054:66;16141:25;;;7947:22:190;;;;16129:38:228;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:190;;;;;;;;;6023:1;16238:11:228;;;6009:16:190;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:190;;-1:-1:-1;;6023:1:190;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:190;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:192:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:192;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:228;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:192;;;;-1:-1:-1;;4107:27:192;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:181:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:181;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;9759:28:181;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:184:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:216:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:216;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:216:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:216;;7009:2:228;4393:63:216;;;6991:21:228;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:216;6807:355:228;4393:63:216;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:216;;7369:2:228;2296:80:216;;;7351:21:228;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:216;7167:403:228;2296:80:216;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:228;;1401:2;1386:18;;1267:177;2515:42:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:216;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:228;2594:9:216;;:20;;1386:18:228;;2594:38:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:216;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:228;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:216;;;;-1:-1:-1;;2754:148:216;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:216;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:190:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:190;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:190;-1:-1:-1;;;;7036:160:190:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:181:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:181;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;12402:28:181;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:181;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:216:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:187:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:187;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:228;18911:18;;3713:52:107;18794:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:216:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:216;;3609:106;-1:-1:-1;3609:106:216:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:228;25536:15;;;45340:92:45;;;25518:34:228;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:228;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:228;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:228;;51494:30:45;27964:279:228;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:228;;;1386:18;;7664:67:24;1267:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:228;30142:79;;2092:30:124;;;30130:92:228;2092:30:124;;30238:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:192;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:192;6914:97;14:332:228;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:228;;1710:439;-1:-1:-1;;;;;1710:439:228:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:228;;2420:180;-1:-1:-1;2420:180:228:o;5165:184::-;-1:-1:-1;;;5214:1:228;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:228;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:228;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:228;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:228;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:228;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:228;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:228;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:228;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:228;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:228;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:228:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:228;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:228:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:228:o;10716:184::-;-1:-1:-1;;;10765:1:228;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:228:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:228;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:228;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:228;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:228;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:228:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:228;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:228:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:228;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:228:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:228;;15702:184;-1:-1:-1;15702:184:228:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:228:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:228:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:228;;21043:640;-1:-1:-1;;;;;;;21043:640:228:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:228:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:228:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:228:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:228;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:228:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:228:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":216}
\ No newline at end of file
diff --git a/packages/contracts/script/PostDeploy.s.sol b/packages/contracts/script/PostDeploy.s.sol
index 956ab0fa8..71d1df6cc 100644
--- a/packages/contracts/script/PostDeploy.s.sol
+++ b/packages/contracts/script/PostDeploy.s.sol
@@ -52,8 +52,6 @@ import {IERC1155} from "@erc1155/IERC1155.sol";
import {registerERC1155} from "@erc1155/registerERC1155.sol";
import {_erc1155SystemId} from "@erc1155/utils.sol";
-
-
import "forge-std/console2.sol";
import "forge-std/StdJson.sol";
@@ -91,17 +89,13 @@ contract PostDeploy is Script {
vm.startBroadcast(deployerPrivateKey);
if (block.chainid == 31337) {
// Set entropy contracts
- address multicall3 = address(new Multicall3());
address mockEntropy = address(new MockEntropy());
- UltimateDominionConfig.setMulticall(multicall3);
UltimateDominionConfig.setEntropy(mockEntropy);
UltimateDominionConfig.setPythProvider(address(1));
} else if (block.chainid == 84532) {
- UltimateDominionConfig.setMulticall(0xcA11bde05977b3631167028862bE2a173976CA11);
UltimateDominionConfig.setEntropy(0x41c9e39574F40Ad34c79f1C99B66A45eFB830d4c);
UltimateDominionConfig.setPythProvider(0x6CC14824Ea2918f5De5C2f75A9Da968ad4BD6344);
} else if (block.chainid == 8453) {
- UltimateDominionConfig.setMulticall(0xcA11bde05977b3631167028862bE2a173976CA11);
UltimateDominionConfig.setEntropy(0x6E7D74FA7d5c90FEF9F0512987605a6d546181Bb);
UltimateDominionConfig.setPythProvider(0x52DeaA1c84233F7bb8C8A45baeDE41091c616506);
}
diff --git a/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol b/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
index e9c793b22..f71d6bcc6 100644
--- a/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
+++ b/packages/contracts/src/codegen/tables/UltimateDominionConfig.sol
@@ -23,7 +23,6 @@ struct UltimateDominionConfigData {
address entropy;
address pythProvider;
address items;
- address multicall;
}
library UltimateDominionConfig {
@@ -31,12 +30,12 @@ library UltimateDominionConfig {
ResourceId constant _tableId = ResourceId.wrap(0x74625544000000000000000000000000556c74696d617465446f6d696e696f6e);
FieldLayout constant _fieldLayout =
- FieldLayout.wrap(0x0079070001141414141414000000000000000000000000000000000000000000);
+ FieldLayout.wrap(0x0065060001141414141400000000000000000000000000000000000000000000);
// Hex-encoded key schema of ()
Schema constant _keySchema = Schema.wrap(0x0000000000000000000000000000000000000000000000000000000000000000);
- // Hex-encoded value schema of (bool, address, address, address, address, address, address)
- Schema constant _valueSchema = Schema.wrap(0x0079070060616161616161000000000000000000000000000000000000000000);
+ // Hex-encoded value schema of (bool, address, address, address, address, address)
+ Schema constant _valueSchema = Schema.wrap(0x0065060060616161616100000000000000000000000000000000000000000000);
/**
* @notice Get the table's key field names.
@@ -51,14 +50,13 @@ library UltimateDominionConfig {
* @return fieldNames An array of strings with the names of value fields.
*/
function getFieldNames() internal pure returns (string[] memory fieldNames) {
- fieldNames = new string[](7);
+ fieldNames = new string[](6);
fieldNames[0] = "locked";
fieldNames[1] = "goldToken";
fieldNames[2] = "characterToken";
fieldNames[3] = "entropy";
fieldNames[4] = "pythProvider";
fieldNames[5] = "items";
- fieldNames[6] = "multicall";
}
/**
@@ -303,44 +301,6 @@ library UltimateDominionConfig {
StoreCore.setStaticField(_tableId, _keyTuple, 5, abi.encodePacked((items)), _fieldLayout);
}
- /**
- * @notice Get multicall.
- */
- function getMulticall() internal view returns (address multicall) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreSwitch.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Get multicall.
- */
- function _getMulticall() internal view returns (address multicall) {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- bytes32 _blob = StoreCore.getStaticField(_tableId, _keyTuple, 6, _fieldLayout);
- return (address(bytes20(_blob)));
- }
-
- /**
- * @notice Set multicall.
- */
- function setMulticall(address multicall) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreSwitch.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
- }
-
- /**
- * @notice Set multicall.
- */
- function _setMulticall(address multicall) internal {
- bytes32[] memory _keyTuple = new bytes32[](0);
-
- StoreCore.setStaticField(_tableId, _keyTuple, 6, abi.encodePacked((multicall)), _fieldLayout);
- }
-
/**
* @notice Get the full data.
*/
@@ -378,10 +338,9 @@ library UltimateDominionConfig {
address characterToken,
address entropy,
address pythProvider,
- address items,
- address multicall
+ address items
) internal {
- bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+ bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
@@ -400,10 +359,9 @@ library UltimateDominionConfig {
address characterToken,
address entropy,
address pythProvider,
- address items,
- address multicall
+ address items
) internal {
- bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+ bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
@@ -423,8 +381,7 @@ library UltimateDominionConfig {
_table.characterToken,
_table.entropy,
_table.pythProvider,
- _table.items,
- _table.multicall
+ _table.items
);
EncodedLengths _encodedLengths;
@@ -445,8 +402,7 @@ library UltimateDominionConfig {
_table.characterToken,
_table.entropy,
_table.pythProvider,
- _table.items,
- _table.multicall
+ _table.items
);
EncodedLengths _encodedLengths;
@@ -471,8 +427,7 @@ library UltimateDominionConfig {
address characterToken,
address entropy,
address pythProvider,
- address items,
- address multicall
+ address items
)
{
locked = (_toBool(uint8(Bytes.getBytes1(_blob, 0))));
@@ -486,8 +441,6 @@ library UltimateDominionConfig {
pythProvider = (address(Bytes.getBytes20(_blob, 61)));
items = (address(Bytes.getBytes20(_blob, 81)));
-
- multicall = (address(Bytes.getBytes20(_blob, 101)));
}
/**
@@ -507,8 +460,7 @@ library UltimateDominionConfig {
_table.characterToken,
_table.entropy,
_table.pythProvider,
- _table.items,
- _table.multicall
+ _table.items
) = decodeStatic(_staticData);
}
@@ -540,10 +492,9 @@ library UltimateDominionConfig {
address characterToken,
address entropy,
address pythProvider,
- address items,
- address multicall
+ address items
) internal pure returns (bytes memory) {
- return abi.encodePacked(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+ return abi.encodePacked(locked, goldToken, characterToken, entropy, pythProvider, items);
}
/**
@@ -558,10 +509,9 @@ library UltimateDominionConfig {
address characterToken,
address entropy,
address pythProvider,
- address items,
- address multicall
+ address items
) internal pure returns (bytes memory, EncodedLengths, bytes memory) {
- bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items, multicall);
+ bytes memory _staticData = encodeStatic(locked, goldToken, characterToken, entropy, pythProvider, items);
EncodedLengths _encodedLengths;
bytes memory _dynamicData;
diff --git a/packages/contracts/src/codegen/world/ICombatSystem.sol b/packages/contracts/src/codegen/world/ICombatSystem.sol
index 23c1c406e..1150192af 100644
--- a/packages/contracts/src/codegen/world/ICombatSystem.sol
+++ b/packages/contracts/src/codegen/world/ICombatSystem.sol
@@ -28,7 +28,7 @@ interface ICombatSystem {
function UD__endTurn(bytes32 encounterId, bytes32 playerId, Action[] memory actions) external payable;
- function UD__isParticipant(address account, bytes32 encounterId) external view returns (bool _isParticipant);
+ function UD__isParticipant(bytes32 playerId, bytes32 encounterId) external view returns (bool _isParticipant);
function UD__isParticipant(
address account,
diff --git a/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol b/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
index b922891a0..847c523b5 100644
--- a/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
+++ b/packages/contracts/src/codegen/world/IUltimateDominionConfigSystem.sol
@@ -9,17 +9,15 @@ pragma solidity >=0.8.24;
* @dev This interface is automatically generated from the corresponding system contract. Do not edit manually.
*/
interface IUltimateDominionConfigSystem {
- function UD__getCharacterToken() external view returns (address _characterToken);
+ function UD__getCharacterToken() external view returns (address _characterToken);
- function UD__getGoldToken() external view returns (address _goldToken);
+ function UD__getGoldToken() external view returns (address _goldToken);
- function UD__getEntropy() external view returns (address _entropy);
+ function UD__getEntropy() external view returns (address _entropy);
- function UD__getPythProvider() external view returns (address _provider);
+ function UD__getPythProvider() external view returns (address _provider);
- function UD__getItemsContract() external view returns (address _erc1155);
+ function UD__getItemsContract() external view returns (address _erc1155);
- function UD__getMulticallContract() external view returns (address _multicall);
-
- function UD__getLootManagerSystem() external view returns (address _lootManager);
+ function UD__getLootManagerSystem() external view returns (address _lootManager);
}
diff --git a/packages/contracts/src/systems/CombatSystem.sol b/packages/contracts/src/systems/CombatSystem.sol
index 4871a5008..88098b806 100644
--- a/packages/contracts/src/systems/CombatSystem.sol
+++ b/packages/contracts/src/systems/CombatSystem.sol
@@ -122,14 +122,17 @@ contract CombatSystem is System {
CombatEncounterData memory encounterData = CombatEncounter.get(encounterId);
require(encounterData.start != 0 && encounterData.end == 0, "COMBAT SYSTEM: INVALID ENCOUNTER");
require(encounterData.currentTurn < encounterData.maxTurns, "COMBAT SYSTEM: EXPIRED ENCOUNTER");
- require(isParticipant(_msgSender(), encounterId), "COMBAT SYSTEM: NON-COMBATANT");
+ require(
+ IWorld(_world()).UD__getOwnerAddress(playerId) == _msgSender() && isParticipant(playerId, encounterId),
+ "COMBAT SYSTEM: NON-COMBATANT"
+ );
_queueActions(encounterId, actions);
}
- function isParticipant(address account, bytes32 encounterId) public view returns (bool _isParticipant) {
+ function isParticipant(bytes32 playerId, bytes32 encounterId) public view returns (bool _isParticipant) {
CombatEncounterData memory encounterData = CombatEncounter.get(encounterId);
for (uint256 i; i < encounterData.attackers.length;) {
- if (account == IWorld(_world()).UD__getOwnerAddress(encounterData.attackers[i])) {
+ if (playerId == encounterData.attackers[i]) {
_isParticipant = true;
break;
}
@@ -139,7 +142,7 @@ contract CombatSystem is System {
}
if (!_isParticipant) {
for (uint256 i; i < encounterData.defenders.length;) {
- if (account == IWorld(_world()).UD__getOwnerAddress(encounterData.defenders[i])) {
+ if (playerId == encounterData.defenders[i]) {
_isParticipant = true;
break;
}
diff --git a/packages/contracts/src/systems/LootManagerSystem.sol b/packages/contracts/src/systems/LootManagerSystem.sol
index 12b3620a1..f014c3179 100644
--- a/packages/contracts/src/systems/LootManagerSystem.sol
+++ b/packages/contracts/src/systems/LootManagerSystem.sol
@@ -34,11 +34,6 @@ import {
} from "../utils.sol";
import {ITEMS_NAMESPACE, WORLD_NAMESPACE} from "../../constants.sol";
import {WeaponStats, ArmorStats} from "@interfaces/Structs.sol";
-import {TotalSupply} from "@erc1155/tables/TotalSupply.sol";
-import {Owners} from "@erc1155/tables/Owners.sol";
-import {ERC1155URIStorage} from "@erc1155/tables/ERC1155URIStorage.sol";
-import {ERC1155MetadataURI} from "@erc1155/tables/ERC1155MetadataURI.sol";
-import {ERC1155System} from "@erc1155/ERC1155System.sol";
import {
_metadataTableId,
_erc1155URIStorageTableId,
@@ -63,7 +58,9 @@ contract LootManagerSystem is System {
address owner = IWorld(_world()).UD__getOwner(characterId);
for (uint256 i; i < starterItems.itemIds.length; i++) {
- _items().safeTransferFrom(address(this), owner, starterItems.itemIds[i], starterItems.amounts[i], "");
+ IERC1155System(UltimateDominionConfig.getItems()).safeTransferFrom(
+ address(this), owner, starterItems.itemIds[i], starterItems.amounts[i], ""
+ );
}
}
@@ -75,7 +72,7 @@ contract LootManagerSystem is System {
function dropItem(uint256 itemId, uint256 amount, bytes32 characterId) public {
AccessControlLib.requireAccess(_lootManagerSystemId(WORLD_NAMESPACE), _msgSender());
address to = IWorld(_world()).UD__getOwner(characterId);
- _items().transferFrom(address(this), to, itemId, amount);
+ IERC1155System(UltimateDominionConfig.getItems()).transferFrom(address(this), to, itemId, amount);
}
function dropItems(uint256[] memory itemIds, uint256[] memory amounts, bytes32[] memory characterIds) public {
@@ -83,8 +80,4 @@ contract LootManagerSystem is System {
dropItem(itemIds[i], amounts[i], characterIds[i]);
}
}
-
- function _items() internal view returns (IERC1155System _items) {
- _items = IERC1155System(UltimateDominionConfig.getItems());
- }
}
diff --git a/packages/contracts/src/systems/UltimateDominionConfigSystem.sol b/packages/contracts/src/systems/UltimateDominionConfigSystem.sol
index 376ac769a..0c5d2952c 100644
--- a/packages/contracts/src/systems/UltimateDominionConfigSystem.sol
+++ b/packages/contracts/src/systems/UltimateDominionConfigSystem.sol
@@ -1,41 +1,34 @@
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.24;
-
import {System} from "@latticexyz/world/src/System.sol";
import {Systems} from "@latticexyz/world/src/codegen/tables/Systems.sol";
import {UltimateDominionConfig} from "../codegen/index.sol";
import {_lootManagerSystemId} from "../utils.sol";
import {WORLD_NAMESPACE} from "../../constants.sol";
-
contract UltimateDominionConfigSystem is System {
- function getCharacterToken() public view returns (address _characterToken) {
- _characterToken = UltimateDominionConfig.getCharacterToken();
- }
+ function getCharacterToken() public view returns (address _characterToken) {
+ _characterToken = UltimateDominionConfig.getCharacterToken();
+ }
- function getGoldToken() public view returns (address _goldToken) {
- _goldToken = UltimateDominionConfig.getGoldToken();
- }
+ function getGoldToken() public view returns (address _goldToken) {
+ _goldToken = UltimateDominionConfig.getGoldToken();
+ }
- function getEntropy() public view returns (address _entropy) {
- _entropy = UltimateDominionConfig.getEntropy();
- }
+ function getEntropy() public view returns (address _entropy) {
+ _entropy = UltimateDominionConfig.getEntropy();
+ }
- function getPythProvider() public view returns (address _provider) {
- _provider = UltimateDominionConfig.getPythProvider();
- }
+ function getPythProvider() public view returns (address _provider) {
+ _provider = UltimateDominionConfig.getPythProvider();
+ }
- function getItemsContract() public view returns (address _erc1155) {
+ function getItemsContract() public view returns (address _erc1155) {
_erc1155 = UltimateDominionConfig.getItems();
- }
+ }
- function getMulticallContract() public view returns (address _multicall) {
- _multicall = UltimateDominionConfig.getMulticall();
- }
-
- function getLootManagerSystem() public view returns (address _lootManager) {
+ function getLootManagerSystem() public view returns (address _lootManager) {
_lootManager = Systems.getSystem(_lootManagerSystemId(WORLD_NAMESPACE));
- }
-
+ }
}
diff --git a/packages/contracts/worlds.json b/packages/contracts/worlds.json
index 23c13aadf..913bdbd2a 100644
--- a/packages/contracts/worlds.json
+++ b/packages/contracts/worlds.json
@@ -1,9 +1,9 @@
{
"31337": {
- "address": "0xa74b62c241f67bb108d8cad91ab58da0ea6a28f5"
+ "address": "0x8a5a247b8f295ee4b14557c2939090e39f4bd866"
},
"84532": {
"address": "0xa0c48020347122d9a03c312aaf84a196c962b624",
"blockNumber": 12655705
}
-}
+}
\ No newline at end of file
From 8f42a019617c5facf705bfb6264c9c93627a2d39 Mon Sep 17 00:00:00 2001
From: ECWireless
Date: Tue, 16 Jul 2024 17:52:22 -0600
Subject: [PATCH 8/8] Missing out files
---
packages/contracts/out/CharacterSystem.sol/CharacterSystem.json | 2 +-
packages/contracts/out/MapSystem.sol/MapSystem.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
index 01c9b41a5..b9f945ee8 100644
--- a/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
+++ b/packages/contracts/out/CharacterSystem.sol/CharacterSystem.json
@@ -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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061497d806100206000396000f3fe6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e65060001141414141400000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea26469706673582212205c1861d323ad8a0004b311ef7f75024cde0dfa48823ac2e8e54f579ec3be1e0364736f6c63430008180033","sourceMap":"1812:6250:211:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e65060001141414141400000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea26469706673582212205c1861d323ad8a0004b311ef7f75024cde0dfa48823ac2e8e54f579ec3be1e0364736f6c63430008180033","sourceMap":"1812:6250:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:211;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:228;;;345:74;;333:2;318:18;2973:144:211;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:228;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:228;7936:124:211;;;;;;;;;;-1:-1:-1;7936:124:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;4111:837:211:-;;;;;;;;;;-1:-1:-1;4111:837:211;;;;;:::i;:::-;;:::i;:::-;;;4284:25:228;;;4272:2;4257:18;4111:837:211;4138:177:228;6106:492:211;;;;;;;;;;-1:-1:-1;6106:492:211;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:211;;;;;;;;;;-1:-1:-1;1853:130:211;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:211;;;;;:::i;:::-;;:::i;4954:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:211;;;;;:::i;:::-;;:::i;3542:212::-;;;;;;;;;;-1:-1:-1;3542:212:211;;;;;:::i;:::-;;:::i;6604:219::-;;;;;;;;;;-1:-1:-1;6604:219:211;;;;;:::i;:::-;;:::i;5505:595::-;;;;;;;;;;-1:-1:-1;5505:595:211;;;;;:::i;:::-;;:::i;7669:125::-;;;;;;;;;;-1:-1:-1;7669:125:211;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7800:130:211:-;;;;;;;;;;-1:-1:-1;7800:130:211;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:211;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7936:124:211:-;7996:16;;:::i;:::-;8031:22;8041:11;8031:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;4111:837:211:-;4221:19;4256:24;4283:28;:26;:28::i;:::-;4256:55;-1:-1:-1;4348:16:211;4329:35;;4321:83;;;;-1:-1:-1;;;4321:83:211;;6255:2:228;4321:83:211;;;6237:21:228;6294:2;6274:18;;;6267:30;6333:34;6313:18;;;6306:62;6404:5;6384:18;;;6377:33;6427:19;;4321:83:211;;;;;;;;;4421:8;:6;:8::i;:::-;-1:-1:-1;;;;;4414:21:211;;4449:37;4465:20;4449:15;:37::i;:::-;4488:65;;-1:-1:-1;;;;;6649:55:228;;4488:65:211;;;6631:74:228;6721:18;;;6714:34;;;6604:18;;4488:65:211;;;-1:-1:-1;;4488:65:211;;;;;;;;;;;;;;;;;;;;4414:149;;4488:65;4414:149;;;;;;;;;4488:65;4414:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4414:149:211;;;;;;;;;;;;:::i;:::-;;4587:35;4605:16;4587:17;:35::i;:::-;4573:49;;4632:41;4652:11;4665:7;4632:19;:41::i;:::-;4683:52;4705:11;4718:16;4683:21;:52::i;:::-;4754:25;4774:4;4754:19;:25::i;:::-;4753:26;4745:58;;;;-1:-1:-1;;;4745:58:211;;8662:2:228;4745:58:211;;;8644:21:228;8701:2;8681:18;;;8674:30;8740:21;8720:18;;;8713:49;8779:18;;4745:58:211;8460:343:228;4745:58:211;4813:31;4833:4;4839;4813:19;:31::i;:::-;4854:37;4873:11;4886:4;4854:18;:37::i;:::-;4901:40;4914:16;4932:8;4901:12;:40::i;:::-;4246:702;4111:837;;;;;:::o;6106:492::-;6181:20;6231:14;6242:2;6231:10;:14::i;:::-;6217:10;:28;6213:379;;-1:-1:-1;6276:2:211;6106:492;;;:::o;6213:379::-;6314:9;6309:273;6329:2;6325:1;:6;6309:273;;;6373:10;6356:13;6367:1;6356:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6407:10:211;6387:17;6398:5;:1;6402;6398:5;:::i;:::-;6387:10;:17::i;:::-;:30;6356:61;6352:155;;;6456:5;:1;6460;6456:5;:::i;:::-;6441:20;;6483:5;;6352:155;6546:3;;;;:::i;:::-;;;;6309:273;;;;6106:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:211;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:211;;3385:7;3359:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3359:34:211;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:211;;;;;;;;-1:-1:-1;;3359:34:211;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:211;;3462:7;3436:34;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;3436:34:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:211;:7;-1:-1:-1;;;;;3506:23:211;;3499:30;;;;;3123:413;;;:::o;4954:545::-;5069:33;5090:11;5069:20;:33::i;:::-;5068:34;5060:90;;;;-1:-1:-1;;;5060:90:211;;9785:2:228;5060:90:211;;;9767:21:228;9824:2;9804:18;;;9797:30;9863:34;9843:18;;;9836:62;9934:13;9914:18;;;9907:41;9965:19;;5060:90:211;9583:407:228;5060:90:211;5168:21;5177:11;5168:8;:21::i;:::-;5160:53;;;;-1:-1:-1;;;5160:53:211;;10197:2:228;5160:53:211;;;10179:21:228;10236:2;10216:18;;;10209:30;10275:21;10255:18;;;10248:49;10314:18;;5160:53:211;9995:343:228;5160:53:211;5223:26;5291:34;5306:11;5319:5;5291:14;:34::i;:::-;5382:110;5435:16;5453:11;5477;5466:23;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5466:23:211;;;;-1:-1:-1;;5466:23:211;;;;;;;;;;5400:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5400:91:211;;;;;;;;;;;;;;;;;;;;5382:17;:110::i;:::-;;5050:449;4954:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:211;;2614:16;2588:43;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;2588:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:211;:55;;;;;;-1:-1:-1;;2460:266:211:o;3542:212::-;3621:4;3644:31;3663:11;3644:18;:31::i;:::-;:103;;;;;3742:5;-1:-1:-1;;;;;3679:68:211;:17;:15;:17::i;:::-;:59;;;;;2830:37;;;3679:59;;;4284:25:228;-1:-1:-1;;;;;3679:25:211;;;;;;;4257:18:228;;3679:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3679:68:211;;3644:103;3637:110;3542:212;-1:-1:-1;;;3542:212:211:o;6604:219::-;6698:21;6707:11;6698:8;:21::i;:::-;6690:60;;;;-1:-1:-1;;;6690:60:211;;10974:2:228;6690:60:211;;;10956:21:228;11013:2;10993:18;;;10986:30;11052:28;11032:18;;;11025:56;11098:18;;6690:60:211;10772:350:228;6690:60:211;6760:56;2830:37;;;6807:8;6760:12;:56::i;:::-;6604:219;;:::o;5505:595::-;5570:21;5579:11;5570:8;:21::i;:::-;5562:52;;;;-1:-1:-1;;;5562:52:211;;11329:2:228;5562:52:211;;;11311:21:228;11368:2;11348:18;;;11341:30;11407:20;11387:18;;;11380:48;11445:18;;5562:52:211;11127:342:228;5562:52:211;5633:33;5654:11;5633:20;:33::i;:::-;5632:34;5624:72;;;;-1:-1:-1;;;5624:72:211;;11676:2:228;5624:72:211;;;11658:21:228;11715:2;11695:18;;;11688:30;11754:27;11734:18;;;11727:55;11799:18;;5624:72:211;11474:349:228;5624:72:211;5706:26;5735:22;5745:11;5735:9;:22::i;:::-;5785:1;5767:15;;;:19;5825:23;;;;5796:19;;;:53;5706:51;-1:-1:-1;5859:33:211;5869:11;5706:51;5859:9;:33::i;:::-;5909:8;:6;:8::i;:::-;5902:51;;;;;;;;12028:25:228;;;5945:7:211;12069:18:228;;;12062:34;-1:-1:-1;;;;;5902:29:211;;;;;;;12001:18:228;;5902:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:8;:6;:8::i;:::-;-1:-1:-1;;;;;5993:38:211;;6032:11;5993:51;;;;;;;;;;;;;4284:25:228;;4272:2;4257:18;;4138:177;5993:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6054:39;6075:11;6088:4;6054:20;:39::i;7669:125::-;7729:7;7755:32;7775:11;7755:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7800:130:211:-;7865:7;7891:32;7911:11;7891:19;:32::i;13270:402:194:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:194;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:194:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;7003:347:211:-;7059:7;7078:25;7106:42;:40;:42::i;:::-;7078:70;;7158:24;7185:50;7213:17;7233:1;7185:19;:50::i;:::-;:54;;7238:1;7185:54;:::i;:::-;7158:81;;7249:61;7269:17;7288:1;7292:16;7249:19;:61::i;1157:186:219:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:178:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:178;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12445:2:228;12441:15;;;;-1:-1:-1;;12437:88:228;12425:101;;12551:2;12542:12;;12296:264;4934:25:178;;;;-1:-1:-1;;4934:25:178;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:178;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;2594:287:189;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:189;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:189:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:189;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12903:14:228;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4085:25:189;;;;-1:-1:-1;;4085:25:189;;;;;;;;;1198:66;4034:26;:91::i;5941:246:178:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:178;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;6829:168:211;6911:79;6932:38;6949:20;6932:16;:38::i;:::-;6972:7;6981:8;6911:20;:79::i;3297:296:183:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:183;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:183;:64::i;5624:288:194:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:194;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:194;;;;5878:29;;;;;;;;:::i;5306:279:178:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:178;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:211:-;2329:30;2404:42;:40;:42::i;6512:295:178:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:178;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7496:167:211:-;7558:4;7597:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7597:59;;;4284:25:228;-1:-1:-1;;;;;7597:25:211;;;;;;;4257:18:228;;7597:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7581:75:211;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7581:75:211;;;7496:167;-1:-1:-1;;7496:167:211:o;6279:248:194:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:194;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;13290:3:228;13286:16;;;;13304:66;13282:89;13270:102;;13397:1;13388:11;;13145:260;6477:30:194;;;;-1:-1:-1;;6477:30:194;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13966:98:228;13939:18;;3713:52:107;13822:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:194:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:194;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:194;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:178:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:178;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12903:14:228;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4071:290:178;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:178;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:178:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:194:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:194;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:194:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:194;;;;-1:-1:-1;17879:370:194;;;-1:-1:-1;;;;;17879:370:194:o;5084:257:195:-;5195:16;;;5136:22;5195:16;;;;;;;;;5218:13;5234:64;1248:66;5166:45;5282:1;1377:66;5234:26;:64::i;:::-;5312:23;;;5084:257;-1:-1:-1;;;5084:257:195:o;2640:388:180:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:180;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:180;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:180;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:180:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:180;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:180;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;4646:27:180;;;;-1:-1:-1;;4646:27:180;;;;;;;;;-1:-1:-1;;;4595:26:180;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:194:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:194:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:194;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:194;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:194;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:194;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:194;-1:-1:-1;;16961:760:194:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12694:19:228;;12738:2;12729:12;;12565:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26250:12:228;26289:15;;;45340:92:45;;;26271:34:228;26341:15;;;26321:18;;;26314:43;26393:15;;26373:18;;;26366:43;26213:18;;45340:92:45;26044:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26593:25:228;;;26666:12;26654:25;;26634:18;;;26627:53;26566:18;;45581:74:45;26420:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28531:79:228;;2092:30:124;;;28519:92:228;2092:30:124;;28627:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29374:19:228;;;29409:12;;;29402:28;;;51337:7:45;;29446:12:228;;51494:30:45;29185:279:228;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:228;;;4257:18;;7664:67:24;4138:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:189;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:189;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:228:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:228;;14:180;-1:-1:-1;14:180:228:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:228;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:228;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:228;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:228;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:228;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:228:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:228;3037:15;-1:-1:-1;;3033:88:228;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:228:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:228;3925:18;;3912:32;;-1:-1:-1;3995:2:228;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:315::-;5406:6;5414;5467:2;5455:9;5446:7;5442:23;5438:32;5435:52;;;5483:1;5480;5473:12;5435:52;5519:9;5506:23;5496:33;;5579:2;5568:9;5564:18;5551:32;5592:31;5617:5;5592:31;:::i;:::-;5642:5;5632:15;;;5338:315;;;;;:::o;5658:390::-;5736:6;5744;5797:2;5785:9;5776:7;5772:23;5768:32;5765:52;;;5813:1;5810;5803:12;5765:52;5849:9;5836:23;5826:33;;5910:2;5899:9;5895:18;5882:32;5937:18;5929:6;5926:30;5923:50;;;5969:1;5966;5959:12;5923:50;5992;6034:7;6025:6;6014:9;6010:22;5992:50;:::i;:::-;5982:60;;;5658:390;;;;;:::o;6759:250::-;6844:1;6854:113;6868:6;6865:1;6862:13;6854:113;;;6944:11;;;6938:18;6925:11;;;6918:39;6890:2;6883:10;6854:113;;;-1:-1:-1;;7001:1:228;6983:16;;6976:27;6759:250::o;7014:329::-;7055:3;7093:5;7087:12;7120:6;7115:3;7108:19;7136:76;7205:6;7198:4;7193:3;7189:14;7182:4;7175:5;7171:16;7136:76;:::i;:::-;7257:2;7245:15;-1:-1:-1;;7241:88:228;7232:98;;;;7332:4;7228:109;;7014:329;-1:-1:-1;;7014:329:228:o;7348:320::-;7555:6;7544:9;7537:25;7598:2;7593;7582:9;7578:18;7571:30;7518:4;7618:44;7658:2;7647:9;7643:18;7635:6;7618:44;:::i;7673:442::-;7726:5;7779:3;7772:4;7764:6;7760:17;7756:27;7746:55;;7797:1;7794;7787:12;7746:55;7826:6;7820:13;7857:49;7873:32;7902:2;7873:32;:::i;7857:49::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8007:77;8081:2;8074:4;8065:7;8061:18;8054:4;8046:6;8042:17;8007:77;:::i;8120:335::-;8199:6;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8301:9;8295:16;8334:18;8326:6;8323:30;8320:50;;;8366:1;8363;8356:12;8320:50;8389:60;8441:7;8432:6;8421:9;8417:22;8389:60;:::i;8808:184::-;-1:-1:-1;;;8857:1:228;8850:88;8957:4;8954:1;8947:15;8981:4;8978:1;8971:15;8997:125;9062:9;;;9083:10;;;9080:36;;;9096:18;;:::i;9127:195::-;9166:3;-1:-1:-1;;9190:5:228;9187:77;9184:103;;9267:18;;:::i;:::-;-1:-1:-1;9314:1:228;9303:13;;9127:195::o;9327:251::-;9397:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:52;;;9466:1;9463;9456:12;9418:52;9498:9;9492:16;9517:31;9542:5;9517:31;:::i;10343:424::-;10565:6;10554:9;10547:25;10581:37;10611:6;10581:37;:::i;:::-;10654:6;10649:2;10638:9;10634:18;10627:34;10697:2;10692;10681:9;10677:18;10670:30;10528:4;10717:44;10757:2;10746:9;10742:18;10734:6;10717:44;:::i;12107:184::-;-1:-1:-1;;;12156:1:228;12149:88;12256:4;12253:1;12246:15;12280:4;12277:1;12270:15;13410:407;13493:5;13533;13527:12;13575:4;13568:5;13564:16;13558:23;13600:66;13692:2;13688;13684:11;13675:20;;13718:1;13710:6;13707:13;13704:107;;;13798:2;13792;13782:6;13779:1;13775:14;13772:1;13768:22;13764:31;13760:2;13756:40;13752:49;13743:58;;13704:107;;;;13410:407;;;:::o;14075:439::-;14128:3;14166:5;14160:12;14193:6;14188:3;14181:19;14219:4;14248;14243:3;14239:14;14232:21;;14287:4;14280:5;14276:16;14310:1;14320:169;14334:6;14331:1;14328:13;14320:169;;;14395:13;;14383:26;;14429:12;;;;14464:15;;;;14356:1;14349:9;14320:169;;;-1:-1:-1;14505:3:228;;14075:439;-1:-1:-1;;;;;14075:439:228:o;14519:468::-;14819:6;14808:9;14801:25;14862:2;14857;14846:9;14842:18;14835:30;14782:4;14882:56;14934:2;14923:9;14919:18;14911:6;14882:56;:::i;:::-;14874:64;;14974:6;14969:2;14958:9;14954:18;14947:34;14519:468;;;;;;:::o;14992:655::-;15134:6;15142;15150;15203:2;15191:9;15182:7;15178:23;15174:32;15171:52;;;15219:1;15216;15209:12;15171:52;15252:9;15246:16;15281:18;15322:2;15314:6;15311:14;15308:34;;;15338:1;15335;15328:12;15308:34;15361:60;15413:7;15404:6;15393:9;15389:22;15361:60;:::i;:::-;15351:70;;15461:2;15450:9;15446:18;15440:25;15430:35;;15511:2;15500:9;15496:18;15490:25;15474:41;;15540:2;15530:8;15527:16;15524:36;;;15556:1;15553;15546:12;15524:36;;15579:62;15633:7;15622:8;15611:9;15607:24;15579:62;:::i;15652:709::-;16022:6;16011:9;16004:25;16065:3;16060:2;16049:9;16045:18;16038:31;15985:4;16092:57;16144:3;16133:9;16129:19;16121:6;16092:57;:::i;:::-;16197:4;16189:6;16185:17;16180:2;16169:9;16165:18;16158:45;16251:9;16243:6;16239:22;16234:2;16223:9;16219:18;16212:50;16279:32;16304:6;16296;16279:32;:::i;:::-;16271:40;;;16348:6;16342:3;16331:9;16327:19;16320:35;15652:709;;;;;;;;:::o;16366:548::-;16690:6;16679:9;16672:25;16733:3;16728:2;16717:9;16713:18;16706:31;16653:4;16754:57;16806:3;16795:9;16791:19;16783:6;16754:57;:::i;:::-;16859:4;16847:17;;;;16842:2;16827:18;;16820:45;-1:-1:-1;16896:2:228;16881:18;16874:34;16746:65;16366:548;-1:-1:-1;;16366:548:228:o;16919:184::-;16989:6;17042:2;17030:9;17021:7;17017:23;17013:32;17010:52;;;17058:1;17055;17048:12;17010:52;-1:-1:-1;17081:16:228;;16919:184;-1:-1:-1;16919:184:228:o;17108:707::-;17455:6;17450:3;17443:19;17492:6;17487:2;17482:3;17478:12;17471:28;17508:37;17538:6;17508:37;:::i;:::-;17579:3;17575:16;;;;17570:2;17561:12;;17554:38;17617:2;17608:12;;17601:28;;;;17654:2;17645:12;;17638:28;;;;17691:3;17682:13;;17675:29;17729:3;17720:13;;17713:29;17767:3;17758:13;;17751:29;17805:3;17796:13;;17108:707;-1:-1:-1;;17108:707:228:o;17820:794::-;18215:6;18204:9;18197:25;18258:3;18253:2;18242:9;18238:18;18231:31;18178:4;18285:57;18337:3;18326:9;18322:19;18314:6;18285:57;:::i;:::-;18390:9;18382:6;18378:22;18373:2;18362:9;18358:18;18351:50;18424:32;18449:6;18441;18424:32;:::i;:::-;18410:46;;18492:6;18487:2;18476:9;18472:18;18465:34;18548:9;18540:6;18536:22;18530:3;18519:9;18515:19;18508:51;18576:32;18601:6;18593;18576:32;:::i;:::-;18568:40;17820:794;-1:-1:-1;;;;;;;;17820:794:228:o;18619:175::-;18656:3;18700:4;18693:5;18689:16;18729:4;18720:7;18717:17;18714:43;;18737:18;;:::i;:::-;18786:1;18773:15;;18619:175;-1:-1:-1;;18619:175:228:o;18799:604::-;19108:6;19097:9;19090:25;19151:3;19146:2;19135:9;19131:18;19124:31;19071:4;19178:57;19230:3;19219:9;19215:19;19207:6;19178:57;:::i;:::-;19283:4;19275:6;19271:17;19266:2;19255:9;19251:18;19244:45;19337:9;19329:6;19325:22;19320:2;19309:9;19305:18;19298:50;19365:32;19390:6;19382;19365:32;:::i;:::-;19357:40;18799:604;-1:-1:-1;;;;;;;18799:604:228:o;19735:128::-;19802:9;;;19823:11;;;19820:37;;;19837:18;;:::i;19868:168::-;19941:9;;;19972;;19989:15;;;19983:22;;19969:37;19959:71;;20010:18;;:::i;20041:640::-;20292:6;20287:3;20280:19;20262:3;20318:2;20351;20346:3;20342:12;20383:6;20377:13;20448:2;20440:6;20436:15;20469:1;20479:175;20493:6;20490:1;20487:13;20479:175;;;20556:13;;20542:28;;20592:14;;;;20629:15;;;;20515:1;20508:9;20479:175;;;-1:-1:-1;20670:5:228;;20041:640;-1:-1:-1;;;;;;;20041:640:228:o;20686:184::-;-1:-1:-1;;;20735:1:228;20728:88;20835:4;20832:1;20825:15;20859:4;20856:1;20849:15;20875:511;21126:2;21115:9;21108:21;21089:4;21152:56;21204:2;21193:9;21189:18;21181:6;21152:56;:::i;:::-;21256:14;21248:6;21244:27;21239:2;21228:9;21224:18;21217:55;21320:9;21312:6;21308:22;21303:2;21292:9;21288:18;21281:50;21348:32;21373:6;21365;21348:32;:::i;21391:616::-;21702:6;21691:9;21684:25;21745:3;21740:2;21729:9;21725:18;21718:31;21665:4;21772:57;21824:3;21813:9;21809:19;21801:6;21772:57;:::i;:::-;21877:14;21869:6;21865:27;21860:2;21849:9;21845:18;21838:55;21941:9;21933:6;21929:22;21924:2;21913:9;21909:18;21902:50;21969:32;21994:6;21986;21969:32;:::i;22012:925::-;22461:66;22453:6;22449:79;22444:3;22437:92;22419:3;22548;22580:2;22576:1;22571:3;22567:11;22560:23;22612:6;22606:13;22628:74;22695:6;22691:1;22686:3;22682:11;22675:4;22667:6;22663:17;22628:74;:::i;:::-;22730:6;22725:3;22721:16;22711:26;;22765:2;22761:1;22757:2;22753:10;22746:22;22799:6;22793:13;22777:29;;22815:75;22881:8;22877:1;22873:2;22869:10;22862:4;22854:6;22850:17;22815:75;:::i;:::-;22910:17;22929:1;22906:25;;22012:925;-1:-1:-1;;;;;22012:925:228:o;22942:339::-;23119:2;23108:9;23101:21;23082:4;23139:44;23179:2;23168:9;23164:18;23156:6;23139:44;:::i;:::-;23131:52;;-1:-1:-1;;;;;23223:6:228;23219:55;23214:2;23203:9;23199:18;23192:83;22942:339;;;;;:::o;23286:287::-;23415:3;23453:6;23447:13;23469:66;23528:6;23523:3;23516:4;23508:6;23504:17;23469:66;:::i;:::-;23551:16;;;;;23286:287;-1:-1:-1;;23286:287:228:o;23578:690::-;23913:3;23902:9;23895:22;23876:4;23940:57;23992:3;23981:9;23977:19;23969:6;23940:57;:::i;:::-;24045:9;24037:6;24033:22;24028:2;24017:9;24013:18;24006:50;24079:32;24104:6;24096;24079:32;:::i;:::-;24065:46;;24147:6;24142:2;24131:9;24127:18;24120:34;24202:9;24194:6;24190:22;24185:2;24174:9;24170:18;24163:50;24230:32;24255:6;24247;24230:32;:::i;24273:899::-;24729:6;24718:9;24711:25;24772:3;24767:2;24756:9;24752:18;24745:31;24692:4;24799:57;24851:3;24840:9;24836:19;24828:6;24799:57;:::i;:::-;24904:9;24896:6;24892:22;24887:2;24876:9;24872:18;24865:50;24938:32;24963:6;24955;24938:32;:::i;:::-;24924:46;;25006:6;25001:2;24990:9;24986:18;24979:34;25062:9;25054:6;25050:22;25044:3;25033:9;25029:19;25022:51;25090:32;25115:6;25107;25090:32;:::i;:::-;25082:40;;;25159:6;25153:3;25142:9;25138:19;25131:35;24273:899;;;;;;;;;:::o;25396:464::-;25643:66;25635:6;25631:79;25620:9;25613:98;25747:6;25742:2;25731:9;25727:18;25720:34;25790:2;25785;25774:9;25770:18;25763:30;25594:4;25810:44;25850:2;25839:9;25835:18;25827:6;25810:44;:::i;25865:174::-;25932:12;25964:10;;;25976;;;25960:27;;25999:11;;;25996:37;;;26013:18;;:::i;:::-;25996:37;25865:174;;;;:::o;26691:901::-;27116:6;27105:9;27098:25;27159:3;27154:2;27143:9;27139:18;27132:31;27079:4;27186:57;27238:3;27227:9;27223:19;27215:6;27186:57;:::i;:::-;27291:4;27279:17;;27274:2;27259:18;;27252:45;27316:12;27364:15;;;27359:2;27344:18;;27337:43;27417:15;;27411:3;27396:19;;27389:44;27464:3;27449:19;;27442:35;;;27514:22;;;27508:3;27493:19;;27486:51;27554:32;27518:6;27571;27554:32;:::i;:::-;27546:40;26691:901;-1:-1:-1;;;;;;;;;;26691:901:228:o;27597:788::-;27962:3;27951:9;27944:22;27925:4;27989:57;28041:3;28030:9;28026:19;28018:6;27989:57;:::i;:::-;28094:4;28086:6;28082:17;28077:2;28066:9;28062:18;28055:45;28148:14;28140:6;28136:27;28131:2;28120:9;28116:18;28109:55;28212:12;28204:6;28200:25;28195:2;28184:9;28180:18;28173:53;28263:6;28257:3;28246:9;28242:19;28235:35;28319:9;28311:6;28307:22;28301:3;28290:9;28286:19;28279:51;28347:32;28372:6;28364;28347:32;:::i;:::-;28339:40;27597:788;-1:-1:-1;;;;;;;;;27597:788:228:o;28650:530::-;28835:3;28873:6;28867:13;28889:66;28948:6;28943:3;28936:4;28928:6;28924:17;28889:66;:::i;:::-;29024:2;29020:15;;;;-1:-1:-1;;29016:88:228;28977:16;;;;29002:103;;;29132:2;29121:14;;29114:30;;;;29171:2;29160:14;;28650:530;-1:-1:-1;;28650:530:228:o;29469:359::-;29672:2;29661:9;29654:21;29635:4;29692:44;29732:2;29721:9;29717:18;29709:6;29692:44;:::i;:::-;29767:2;29752:18;;29745:34;;;;-1:-1:-1;29810:2:228;29795:18;29788:34;29684:52;29469:359;-1:-1:-1;29469:359:228:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","isValidOwner(bytes32,address)":"9b63ec05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465\",\"dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488","urls":["bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465","dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":211}
\ No newline at end of file
+{"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":"enterGame","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCharacterTokenId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getClass","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_class","type":"uint8","internalType":"enum Classes"}],"stateMutability":"view"},{"type":"function","name":"getCurrentAvailableLevel","inputs":[{"name":"experience","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"currentLevel","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getExperience","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"_name","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getOwnerAddress","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"getPlayerEntityId","inputs":[{"name":"characterTokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStats","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct StatsData","components":[{"name":"strength","type":"uint256","internalType":"uint256"},{"name":"agility","type":"uint256","internalType":"uint256"},{"name":"class","type":"uint8","internalType":"enum Classes"},{"name":"intelligence","type":"uint256","internalType":"uint256"},{"name":"baseHitPoints","type":"uint256","internalType":"uint256"},{"name":"currentHp","type":"int256","internalType":"int256"},{"name":"experience","type":"uint256","internalType":"uint256"},{"name":"level","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"isValidCharacterId","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidOwner","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mintCharacter","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"name","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"rollStats","inputs":[{"name":"userRandomNumber","type":"bytes32","internalType":"bytes32"},{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"class","type":"uint8","internalType":"enum Classes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"updateTokenUri","inputs":[{"name":"characterId","type":"bytes32","internalType":"bytes32"},{"name":"tokenUri","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b5061497d806100206000396000f3fe6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e65060001141414141400000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea26469706673582212205c1861d323ad8a0004b311ef7f75024cde0dfa48823ac2e8e54f579ec3be1e0364736f6c63430008180033","sourceMap":"1812:6250:211:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101435760003560e01c8063623daa05116100c0578063c74dedc811610074578063e1af802c11610059578063e1af802c14610380578063ebee03bb14610395578063f8c67561146103b557600080fd5b8063c74dedc814610340578063deb931a21461036057600080fd5b80638338f0e0116100a55780638338f0e0146102e05780639b63ec0514610300578063b27cbcbb1461032057600080fd5b8063623daa05146102ab578063679ee16d146102cb57600080fd5b8063143f30211161011757806323801570116100fc578063238015701461024657806345ec93541461027357806354b8d5e31461028b57600080fd5b8063143f3021146101f85780631ecb393f1461022657600080fd5b8062d43ec61461014857806301ffc9a7146101865780630bb700dc146101b6578063119df25f146101e3575b600080fd5b34801561015457600080fd5b50610169610163366004613e65565b60601c90565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019257600080fd5b506101a66101a1366004613e7e565b6103e1565b604051901515815260200161017d565b3480156101c257600080fd5b506101d66101d1366004613e65565b61047a565b60405161017d9190613ef7565b3480156101ef57600080fd5b5061016961048b565b34801561020457600080fd5b50610218610213366004614032565b61049a565b60405190815260200161017d565b34801561023257600080fd5b50610218610241366004613e65565b6106fc565b34801561025257600080fd5b50610266610261366004613e65565b61077a565b60405161017d919061408b565b34801561027f57600080fd5b5036601f190135610218565b34801561029757600080fd5b506102186102a6366004613e65565b610785565b3480156102b757600080fd5b506101a66102c6366004613e65565b610790565b6102de6102d936600461409e565b6108bc565b005b3480156102ec57600080fd5b506102186102fb366004613e65565b610a34565b34801561030c57600080fd5b506101a661031b3660046140db565b610ac9565b34801561032c57600080fd5b506102de61033b36600461410b565b610b90565b34801561034c57600080fd5b506102de61035b366004613e65565b610c01565b34801561036c57600080fd5b5061016961037b366004613e65565b610dd1565b34801561038c57600080fd5b50610169610ddc565b3480156103a157600080fd5b506102186103b0366004613e65565b610de6565b3480156103c157600080fd5b506102186103d0366004613e65565b6bffffffffffffffffffffffff1690565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee12700000000000000000000000000000000000000000000000000000000148061047457507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610482613e0f565b61047482610df1565b6000610495610ea3565b905090565b6000806104a5610ed5565b90506bffffffffffffffffffffffff811061052d5760405162461bcd60e51b815260206004820152602360248201527f43484152414341544552533a204d61782063686172616374657273207265616360448201527f686564000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610535610ddc565b6001600160a01b0316633ae7af0861056c7f4368617261637465727300000000000000000000000000000000000000000000610f08565b6040516001600160a01b03891660248201526044810185905260640160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f40c10f1900000000000000000000000000000000000000000000000000000000179052517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106189291906004016141a2565b6000604051808303816000875af1158015610637573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261065f9190810190614200565b5061066981610a34565b91506106758286610f55565b61067f8282611024565b610688846110a3565b156106d55760405162461bcd60e51b815260206004820152601360248201527f4e616d6520616c726561647920657869737473000000000000000000000000006044820152606401610524565b6106e0846001611148565b6106ea8285611201565b6106f48184611280565b509392505050565b600061070860136112b3565b821061071657506014919050565b60005b6014811015610774578261072c826112b3565b1115801561074b57508261074961074483600161424b565b6112b3565b115b156107625761075b81600161424b565b9150610774565b8061076c8161425e565b915050610719565b50919050565b60006104748261132f565b6000610474826113d9565b60008061079d8360601c90565b90506bffffffffffffffffffffffff831660006107b861146b565b6001600160a01b0316636352211e836040518263ffffffff1660e01b81526004016107e591815260200190565b602060405180830381865afa92505050801561081e575060408051601f3d908101601f1916820190925261081b91810190614278565b60015b1561089d5761082b61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b815260040161085891815260200190565b602060405180830381865afa158015610875573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108999190614278565b9150505b826001600160a01b0316816001600160a01b0316149350505050919050565b6108c582611475565b156109385760405162461bcd60e51b815260206004820152602b60248201527f434841524143544552533a2063686172616374657220616c726561647920696e60448201527f2067616d6520776f726c640000000000000000000000000000000000000000006064820152608401610524565b61094182611507565b61098d5760405162461bcd60e51b815260206004820152601360248201527f4e6f7420796f7572204368617261637465722e000000000000000000000000006044820152606401610524565b600061099983836115c3565b610a2d8482856040516020016109b191815260200190565b60408051601f19818403018152908290526109d0939291602401614295565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb2aa60a4000000000000000000000000000000000000000000000000000000001790526116ac565b5050505050565b600080610a3f61146b565b6001600160a01b0316636352211e846040518263ffffffff1660e01b8152600401610a6c91815260200190565b602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614278565b60601b6bffffffffffffffffffffffff19169290921792915050565b6000610ad483610790565b8015610b895750816001600160a01b0316610aed61146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff861660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614278565b6001600160a01b0316145b9392505050565b610b9982611507565b610be55760405162461bcd60e51b815260206004820152601a60248201527f434841524143544552533a204e4f5420415554484f52495a45440000000000006044820152606401610524565b610bfd6bffffffffffffffffffffffff831682611280565b5050565b610c0a81611507565b610c565760405162461bcd60e51b815260206004820152601260248201527f6e6f7420796f75722063686172616374657200000000000000000000000000006044820152606401610524565b610c5f81611475565b15610cac5760405162461bcd60e51b815260206004820152601960248201527f796f75206861766520656e7465726564207468652067616d65000000000000006044820152606401610524565b6000610cb782610df1565b600160e0820152608081015160a08201529050610cd4828261175a565b610cdc610ddc565b6040517ffda0ce5000000000000000000000000000000000000000000000000000000000815260048101849052674563918244f4000060248201526001600160a01b03919091169063fda0ce5090604401600060405180830381600087803b158015610d4757600080fd5b505af1158015610d5b573d6000803e3d6000fd5b50505050610d67610ddc565b6001600160a01b031663f9d175ed836040518263ffffffff1660e01b8152600401610d9491815260200190565b600060405180830381600087803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050610bfd82600161180b565b60006104748261188f565b600061049561192c565b600061047482611936565b610df9613e0f565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610e2f57610e2f6142bd565b602090810291909101015260008080610e887f7462554400000000000000000000000053746174730000000000000000000000857ee10800202001202020202000000000000000000000000000000000000000006119c8565b925092509250610e99838383611a98565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610ed25750335b90565b600080610ee0611b10565b90506000610eef826000611b78565b610efa90600161424b565b905061047482600083611c29565b60006104747f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d0000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610f8b57610f8b6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600185604051602001610fea919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e55040020142001000000000000000000000000000000000000000000000000611d70565b505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061105a5761105a6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600085604051602001610fea91815260200190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106110dc576110dc6142bd565b602090810291909101015260006111347f746255440000000000000000000000004e616d6545786973747300000000000083837e01010001000000000000000000000000000000000000000000000000000000611e25565b90506111408160f81c90565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061117e5761117e6142bd565b60200260200101818152505061101f7f746255440000000000000000000000004e616d6545786973747300000000000060001b826000856040516020016111cc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611d70565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611237576112376142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600285604051602001610fea91815260200190565b610bfd6112ac7f4368617261637465727300000000000000000000000000000000000000000000611ee2565b8383611f2f565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106112ef576112ef6142bd565b602090810291909101015260006111407f746255440000000000000000000000004c6576656c73000000000000000000008383630100080160dd1b611e25565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611368576113686142bd565b602090810291909101015260006113c17f74625544000000000000000000000000537461747300000000000000000000008360027ee1080020200120202020200000000000000000000000000000000000000000611e25565b905060f881901c600281111561114057611140613ec0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611412576114126142bd565b602090810291909101015260006111407f74625544000000000000000000000000436861726163746572730000000000008360027e55040020142001000000000000000000000000000000000000000000000000611e25565b6000610495611b10565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106114ae576114ae6142bd565b602090810291909101015260006111347f74625544000000000000000000000000436861726163746572730000000000008360037e55040020142001000000000000000000000000000000000000000000000000611e25565b600061151161146b565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff841660048201526001600160a01b039190911690636352211e90602401602060405180830381865afa15801561157e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a29190614278565b6001600160a01b03166115b361048b565b6001600160a01b03161492915050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106115f9576115f96142bd565b602090810291909101015261101f7f7462554400000000000000000000000053746174730000000000000000000000826002858181111561163c5761163c613ec0565b604051602001611677919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f198184030181529190527ee1080020200120202020200000000000000000000000000000000000000000611d70565b60606000806116c26116bd856142d3565b611f81565b91509150816000801b03611728576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610524565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526111408285612051565b600061178c826000015183602001518460400151856060015186608001518760a001518860c001518960e0015161212c565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905085816000815181106117cb576117cb6142bd565b60209081029190910101526118037f74625544000000000000000000000000537461747300000000000000000000008286868661216a565b505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611841576118416142bd565b60200260200101818152505061101f7f746255440000000000000000000000004368617261637465727300000000000060001b82600385604051602001610fea91151560f81b815260010190565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106118c8576118c86142bd565b602090810291909101015260006119217f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611e25565b60601c949350505050565b60006104956121e0565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061196f5761196f6142bd565b602090810291909101015260006111407f74625544000000000000000000000000537461747300000000000000000000008360067ee1080020200120202020200000000000000000000000000000000000000000611e25565b60606000606060006119d86121e0565b9050306001600160a01b03821603611a01576119f587878761221f565b93509350935050611a8f565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90611a4a908a908a908a9060040161435f565b600060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119f59190810190614388565b93509350939050565b611aa0613e0f565b611aa984612327565b60e0890181905260c0890182905260a089018390526080890184905260608901859052886020810160408201886002811115611ae757611ae7613ec0565b6002811115611af857611af8613ec0565b90529790975250505093909252509195945050505050565b604080516000808252602082019092526000611b6e7f74625544000000000000000000000000556c74696d617465446f6d696e696f6e8360027e65060001141414141400000000000000000000000000000000000000000000611e25565b60601c9392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110611bbd57611bbd6142bd565b6020026020010181815250508260001b81600181518110611be057611be06142bd565b60209081029190910101526000611c207f74625544000000000000000000000000436f756e7465727300000000000000008383630100080160dd1b611e25565b95945050505050565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110611c6a57611c6a6142bd565b6020026020010181815250508260001b81600181518110611c8d57611c8d6142bd565b602002602001018181525050611cf37f74625544000000000000000000000000436f756e74657273000000000000000060001b82600085604051602001611cd691815260200190565b60408051601f19818403018152919052630100080160dd1b611d70565b50505050565b6000611d076070601061424b565b6fffffffffffffffffffffffffffffffff198316901c601084901c7dffffffffffffffffffffffffffff00000000000000000000000000000000167fffff0000000000000000000000000000000000000000000000000000000000008616171790509392505050565b6000611d7a6121e0565b9050306001600160a01b03821603611d9e57611d998686868686612395565b611803565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611deb90899089908990899089906004016143eb565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050505050505050565b600080611e306121e0565b9050306001600160a01b03821603611e5657611e4e868686866123aa565b915050611140565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611ea1908990899089908990600401614432565b602060405180830381865afa158015611ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4e9190614461565b60006104747f7462000000000000000000000000000000000000000000000000000000000000837f546f6b656e555249000000000000000000000000000000000000000000000000611cf9565b604080516001808252818301909252600091602080830190803683370190505090508260001b81600081518110611f6857611f686142bd565b602002602001018181525050611cf384826000856123d7565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fda57611fda6142bd565b6020908102919091010152600080806120337f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006119c8565b925092509250612044838383612488565b9550955050505050915091565b6060600061205d61192c565b90506001600160a01b038116300361209e57600061208561207c610ea3565b600087876124a0565b935090508061209757612097836125db565b5050610474565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120e590879087906004016141a2565b6000604051808303816000875af1158015612104573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111409190810190614200565b6060888888888888888860405160200161214d98979695949392919061447a565b604051602081830303815290604052905098975050505050505050565b60006121746121e0565b9050306001600160a01b0382160361219357611d9986868686866125e3565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb90611deb90899089908990899089906004016144bf565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b03168061221a573391505090565b919050565b6060600060606000612230856125f9565b905061223d87878361261c565b9350600061224a86612655565b9050801561231c5761225c8888612692565b935066ffffffffffffff841667ffffffffffffffff81111561228057612280613f6d565b6040519080825280601f01601f1916602001820160405280156122aa576020820181803683370190505b5092506020830160005b828160ff1610156123195760006122cc8b8b846126a5565b905060006122e9888460ff166028026038011c64ffffffffff1690565b90506122f88260008387612725565b612302818561424b565b93505050808061231190614510565b9150506122b4565b50505b505093509350939050565b600080600080600080600080612341896000016020015190565b60408a015160608b0151919950975060f81c600281111561236457612364613ec0565b60618a015160818b015160a18c015160c18d015160e1909d01519b9d9a9c939b929a91995097509195509350915050565b610a2d85856123a484876127f1565b85612822565b6000611c206123b98686612ac6565b60ff858116601b0360080285901c166123d285876127f1565b612b1c565b60006123e16121e0565b9050306001600160a01b03821603612404576123ff85858585612b6d565b610a2d565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea8629061244f90889088908890889060040161452f565b600060405180830381600087803b15801561246957600080fd5b505af115801561247d573d6000803e3d6000fd5b505050505050505050565b60008061249485612ba8565b90969095509350505050565b600060606000806124b086612bbd565b90925090506001600160a01b03821661250157856124cd87612c61565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016105249291906141a2565b80612510576125108689612d8f565b861561257c577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e7300000000000000000000000000000000000000000000000000000000000017600061256482612ddb565b9050612579826125748b8461424b565b612e54565b50505b60006125888760101b90565b7fffffffffffffffffffffffffffff00000000000000000000000000000000000016146125c0576125bb88888488612ef0565b6125cc565b6125cc88888488612f68565b90999098509650505050505050565b805160208201fd5b610a2d85858585856125f48b612fc9565b61304e565b600060086126096002602061456e565b6126139190614581565b9190911c919050565b60608160000361263b5750604080516020810190915260008152610b89565b60006126478585612ac6565b9050611c2081600085613387565b600060086001806126686002602061456e565b612672919061456e565b61267c919061456e565b6126869190614581565b8260ff911c1692915050565b6000610b896126a184846133aa565b5490565b600083836040516020016126ba929190614598565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156127ac576020831061274f5760208304840193506020838161274b5761274b6145d4565b0692505b82156127ac5760208390036000818410156127725750600019600884021c61277c565b50600019600882021c5b8554600886021b81845116821982161784525081841161279d575050611cf3565b50600194909401939182900391015b5b602082106127ce5783548152600190930192601f19909101906020016127ad565b8115611cf3576000600019600884021c8251865482191691161782525050505050565b600080805b8360ff168110156106f45761281860ff601b83900360080287901c168361424b565b91506001016127f6565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036128ac57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161289f939291906145ea565b60405180910390a2611cf3565b60006128b88585612ac6565b905060006128c586613400565b905060005b815181101561299a5760008282815181106128e7576128e76142bd565b602002602001015190506129136004826affffffffffffffffffffff191661348990919063ffffffff16565b15612991576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061295e908b908b908b908b9060040161461d565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516129cf939291906145ea565b60405180910390a26129ea828565ffffffffffff16856134a7565b60005b8151811015612abd576000828281518110612a0a57612a0a6142bd565b60200260200101519050612a366008826affffffffffffffffffffff191661348990919063ffffffff16565b15612ab4576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a81908b908b908b908b9060040161461d565b600060405180830381600087803b158015612a9b57600080fd5b505af1158015612aaf573d6000803e3d6000fd5b505050505b506001016129ed565b50505050505050565b60008282604051602001612adb929190614598565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612b4257602082048401935060208281612b3e57612b3e6145d4565b0691505b508254600882021b6020829003808411156106f4576001850154600882021c82179150509392505050565b6000612b798585612692565b90506000612b96828560ff166028026038011c64ffffffffff1690565b905061180386868660008588886134bd565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612bf757612bf76142bd565b602090810291909101015260008080612c507f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061221f565b9250925092506120448383836138f7565b606081601081901b6000612c7483613903565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615612ccf57612cca7fffffffffffffffffffffffffffff000000000000000000000000000000000000841661391a565b612d06565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615612d2d57612d288361391a565b612d64565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001612d7693929190614656565b6040516020818303038152906040529350505050919050565b612d9982826139a0565b610bfd57612da682612c61565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016105249291906146e4565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612e1457612e146142bd565b602090810291909101015260006111407f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b6123aa565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612e8a57612e8a6142bd565b60200260200101818152505061101f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001612ed391815260200190565b60408051601f19818403018152919052630100080160dd1b612395565b60006060836001600160a01b03166000612f0b8589896139fe565b604051612f18919061470f565b60006040518083038185875af1925050503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b606091505b509097909650945050505050565b60006060836001600160a01b0316612f818488886139fe565b604051612f8e919061470f565b600060405180830381855af49150503d8060008114612f55576040519150601f19603f3d011682016040523d82523d6000602084013e612f5a565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161301857507e60030220202000000000000000000000000000000000000000000000000000919050565b6104746130457f746273746f72650000000000000000005461626c65730000000000000000000084613a2d565b60206000612b1c565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036130da57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516130cd949392919061472b565b60405180910390a2611803565b60006130e587613400565b905060005b81518110156131be576000828281518110613107576131076142bd565b602002602001015190506131336001826affffffffffffffffffffff191661348990919063ffffffff16565b156131b5576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613182908c908c908c908c908c908c9060040161476a565b600060405180830381600087803b15801561319c57600080fd5b505af11580156131b0573d6000803e3d6000fd5b505050505b506001016130ea565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516131f5949392919061472b565b60405180910390a260006132098888612ac6565b90506000602087019050613221826000895184613a49565b600061322c85612655565b11156132b057600061323e8a8a6133aa565b878155905060208601915060008060005b61325888612655565b8160ff1610156132ab5761326d8d8d836126a5565b92506132888a8260ff166028026038011c64ffffffffff1690565b91506132978360008488613a49565b6132a1828661424b565b945060010161324f565b505050505b60005b8351811015611e195760008482815181106132d0576132d06142bd565b602002602001015190506132fc6002826affffffffffffffffffffff191661348990919063ffffffff16565b1561337e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061334b908e908e908e908e908e908e9060040161476a565b600060405180830381600087803b15801561336557600080fd5b505af1158015613379573d6000803e3d6000fd5b505050505b506001016132b3565b60405160208101601f19603f84840101166040528282526106f485858584612725565b600082826040516020016133bf929190614598565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061343a5761343a6142bd565b602090810291909101015260006134727f746273746f726500000000000000000053746f7265486f6f6b730000000000008383613b08565b90506111406134848260008451613b42565b613bd0565b60008160ff168261349a8560581c90565b1660ff1614905092915050565b61101f838383516134b88560200190565b613a49565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff000000000000000000000000000000000000000000000000000000000000161461357d577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161353b91815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526105249392916004016147c3565b6000613598828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff16836135b1919061456e565b6135bb919061424b565b90508082141580156135dd5750816135d38688614804565b64ffffffffff1614155b1561362d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610524565b818664ffffffffff16111561367e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610524565b600061368b848984613be1565b905060006136988b613400565b905060005b81518110156137635760008282815181106136ba576136ba6142bd565b602002602001015190506136e66010826affffffffffffffffffffff191661348990919063ffffffff16565b1561375a57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016137279796959493929190614829565b600060405180830381600087803b15801561374157600080fd5b505af1158015613755573d6000803e3d6000fd5b505050505b5060010161369d565b5064ffffffffff881660005b8a60ff168160ff1610156137a257613796878260ff166028026038011c64ffffffffff1690565b9091019060010161376f565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516137dd96959493929190614887565b60405180910390a2508284146137fe5760006137f98c8c6133aa565b839055505b600061380b8c8c8c6126a5565b905061381f818a64ffffffffff16896134a7565b5060005b81518110156138e9576000828281518110613840576138406142bd565b6020026020010151905061386c6020826affffffffffffffffffffff191661348990919063ffffffff16565b156138e057606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016138ad9796959493929190614829565b600060405180830381600087803b1580156138c757600080fd5b505af11580156138db573d6000803e3d6000fd5b505050505b50600101613823565b505050505050505050505050565b60008061249485613caf565b60006139116070601061424b565b9190911b919050565b606060005b6010811015613970576fffffffffffffffffffffffffffffffff198316600882021b7fff0000000000000000000000000000000000000000000000000000000000000016156139705760010161391f565b604080516fffffffffffffffffffffffffffffffff19851660208201528151603090910190915281815280611140565b60006139ee7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ccb565b80610b895750610b898383613ccb565b6060838383604051602001613a15939291906148e3565b60405160208183030381529060405290509392505050565b6040805160208101849052908101829052600090606001612adb565b8215613ac35760208310613a7357602083048401935060208381613a6f57613a6f6145d4565b0692505b8215613ac35760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613ab4575050611cf3565b50600194909401939182900391015b5b60208210613ae55780518455600190930192601f1990910190602001613ac4565b8115611cf3576000600019600884021c8554835182191691161785555050505050565b6060611140613b188585856126a5565b6000613b3d85613b288989612692565b9060ff166028026038011c64ffffffffff1690565b613387565b600081831180613b525750835182115b15613b8f578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161052493929190614922565b60208401613b9d848261424b565b90506000613bab858561456e565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b898360156000613d94565b600064ffffffffff821115613c25576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401610524565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613c575780850382019150613c5f565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6020810151603482015160609190911c9060009060f81c612bb6565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613d0457613d046142bd565b602002602001018181525050826001600160a01b031660001b81600181518110613d3057613d306142bd565b60209081029190910101526000613d887f7462776f726c640000000000000000005265736f75726365416363657373000083837e010100010000000000000000000000000000000000000000000000000000006123aa565b9050611c208160f81c90565b60606000613da28560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281613dc857613dc86145d4565b04905060405193506020840160208202810160405281855260005b82811015613e03578451871c825293870193602090910190600101613de3565b50505050509392505050565b604051806101000160405280600081526020016000815260200160006002811115613e3c57613e3c613ec0565b815260200160008152602001600081526020016000815260200160008152602001600081525090565b600060208284031215613e7757600080fd5b5035919050565b600060208284031215613e9057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610b8957600080fd5b634e487b7160e01b600052602160045260246000fd5b60038110613ef457634e487b7160e01b600052602160045260246000fd5b50565b81518152602080830151908201526040820151610100820190613f1981613ed6565b80604084015250606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160a01b0381168114613ef457600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613fac57613fac613f6d565b604052919050565b600067ffffffffffffffff821115613fce57613fce613f6d565b50601f01601f191660200190565b600082601f830112613fed57600080fd5b8135614000613ffb82613fb4565b613f83565b81815284602083860101111561401557600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561404757600080fd5b833561405281613f58565b925060208401359150604084013567ffffffffffffffff81111561407557600080fd5b61408186828701613fdc565b9150509250925092565b6020810161409883613ed6565b91905290565b6000806000606084860312156140b357600080fd5b83359250602084013591506040840135600381106140d057600080fd5b809150509250925092565b600080604083850312156140ee57600080fd5b82359150602083013561410081613f58565b809150509250929050565b6000806040838503121561411e57600080fd5b82359150602083013567ffffffffffffffff81111561413c57600080fd5b61414885828601613fdc565b9150509250929050565b60005b8381101561416d578181015183820152602001614155565b50506000910152565b6000815180845261418e816020860160208601614152565b601f01601f19169290920160200192915050565b8281526040602082015260006111406040830184614176565b600082601f8301126141cc57600080fd5b81516141da613ffb82613fb4565b8181528460208386010111156141ef57600080fd5b611140826020830160208701614152565b60006020828403121561421257600080fd5b815167ffffffffffffffff81111561422957600080fd5b611140848285016141bb565b634e487b7160e01b600052601160045260246000fd5b8082018082111561047457610474614235565b6000600019820361427157614271614235565b5060010190565b60006020828403121561428a57600080fd5b8151610b8981613f58565b8381526142a183613ed6565b826020820152606060408201526000611c206060830184614176565b634e487b7160e01b600052603260045260246000fd5b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561431b5780818460040360031b1b83161693505b505050919050565b60008151808452602080850194506020840160005b8381101561435457815187529582019590820190600101614338565b509495945050505050565b8381526060602082015260006143786060830185614323565b9050826040830152949350505050565b60008060006060848603121561439d57600080fd5b835167ffffffffffffffff808211156143b557600080fd5b6143c1878388016141bb565b94506020860151935060408601519150808211156143de57600080fd5b50614081868287016141bb565b85815260a06020820152600061440460a0830187614323565b60ff86166040840152828103606084015261441f8186614176565b9150508260808301529695505050505050565b84815260806020820152600061444b6080830186614323565b60ff949094166040830152506060015292915050565b60006020828403121561447357600080fd5b5051919050565b88815287602082015261448c87613ed6565b60f89690961b604087015260418601949094526061850192909252608184015260a183015260c182015260e10192915050565b85815260a0602082015260006144d860a0830187614323565b82810360408401526144ea8187614176565b905084606084015282810360808401526145048185614176565b98975050505050505050565b600060ff821660ff810361452657614526614235565b60010192915050565b8481526080602082015260006145486080830186614323565b60ff8516604084015282810360608401526145638185614176565b979650505050505050565b8181038181111561047457610474614235565b808202811582820484141761047457610474614235565b8281526000602080830184516020860160005b828110156145c7578151845292840192908401906001016145ab565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b6060815260006145fd6060830186614323565b65ffffffffffff851660208401528281036040840152610e998185614176565b8481526080602082015260006146366080830186614323565b65ffffffffffff8516604084015282810360608401526145638185614176565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516146b7816003860160208901614152565b8084019050816003820152845191506146d7826004830160208801614152565b0160040195945050505050565b6040815260006146f76040830185614176565b90506001600160a01b03831660208301529392505050565b60008251614721818460208701614152565b9190910192915050565b60808152600061473e6080830187614323565b82810360208401526147508187614176565b905084604084015282810360608401526145638185614176565b86815260c06020820152600061478360c0830188614323565b82810360408401526147958188614176565b905085606084015282810360808401526147af8186614176565b9150508260a0830152979650505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611c206060830184614176565b64ffffffffff81811683821601908082111561482257614822614235565b5092915050565b87815260e06020820152600061484260e0830189614323565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526148798185614176565b9a9950505050505050505050565b60c08152600061489a60c0830189614323565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526148d68185614176565b9998505050505050505050565b600084516148f5818460208901614152565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6060815260006149356060830186614176565b6020830194909452506040015291905056fea26469706673582212205c1861d323ad8a0004b311ef7f75024cde0dfa48823ac2e8e54f579ec3be1e0364736f6c63430008180033","sourceMap":"1812:6250:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2973:144;;;;;;;;;;-1:-1:-1;2973:144:211;;;;;:::i;:::-;3106:2;3082:26;;2973:144;;;;-1:-1:-1;;;;;363:55:229;;;345:74;;333:2;318:18;2973:144:211;;;;;;;;2331:198:123;;;;;;;;;;-1:-1:-1;2331:198:123;;;;;:::i;:::-;;:::i;:::-;;;932:14:229;;925:22;907:41;;895:2;880:18;2331:198:123;767:187:229;7936:124:211;;;;;;;;;;-1:-1:-1;7936:124:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1262:113:123:-;;;;;;;;;;;;;:::i;4111:837:211:-;;;;;;;;;;-1:-1:-1;4111:837:211;;;;;:::i;:::-;;:::i;:::-;;;4284:25:229;;;4272:2;4257:18;4111:837:211;4138:177:229;6106:492:211;;;;;;;;;;-1:-1:-1;6106:492:211;;;;;:::i;:::-;;:::i;1989:129::-;;;;;;;;;;-1:-1:-1;1989:129:211;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1616:110:123:-;;;;;;;;;;-1:-1:-1;3800:14:123;-1:-1:-1;;3796:25:123;3783:39;1616:110;1262:113;1853:130:211;;;;;;;;;;-1:-1:-1;1853:130:211;;;;;:::i;:::-;;:::i;3123:413::-;;;;;;;;;;-1:-1:-1;3123:413:211;;;;;:::i;:::-;;:::i;4954:545::-;;;;;;:::i;:::-;;:::i;:::-;;2460:266;;;;;;;;;;-1:-1:-1;2460:266:211;;;;;:::i;:::-;;:::i;3542:212::-;;;;;;;;;;-1:-1:-1;3542:212:211;;;;;:::i;:::-;;:::i;6604:219::-;;;;;;;;;;-1:-1:-1;6604:219:211;;;;;:::i;:::-;;:::i;5505:595::-;;;;;;;;;;-1:-1:-1;5505:595:211;;;;;:::i;:::-;;:::i;7669:125::-;;;;;;;;;;-1:-1:-1;7669:125:211;;;;;:::i;:::-;;:::i;1942:98:123:-;;;;;;;;;;;;;:::i;7800:130:211:-;;;;;;;;;;-1:-1:-1;7800:130:211;;;;;:::i;:::-;;:::i;2732:143::-;;;;;;;;;;-1:-1:-1;2732:143:211;;;;;:::i;:::-;2830:37;;;2732:143;2331:198:123;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;7936:124:211:-;7996:16;;:::i;:::-;8031:22;8041:11;8031:9;:22::i;1262:113:123:-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;4111:837:211:-;4221:19;4256:24;4283:28;:26;:28::i;:::-;4256:55;-1:-1:-1;4348:16:211;4329:35;;4321:83;;;;-1:-1:-1;;;4321:83:211;;6255:2:229;4321:83:211;;;6237:21:229;6294:2;6274:18;;;6267:30;6333:34;6313:18;;;6306:62;6404:5;6384:18;;;6377:33;6427:19;;4321:83:211;;;;;;;;;4421:8;:6;:8::i;:::-;-1:-1:-1;;;;;4414:21:211;;4449:37;4465:20;4449:15;:37::i;:::-;4488:65;;-1:-1:-1;;;;;6649:55:229;;4488:65:211;;;6631:74:229;6721:18;;;6714:34;;;6604:18;;4488:65:211;;;-1:-1:-1;;4488:65:211;;;;;;;;;;;;;;;;;;;;4414:149;;4488:65;4414:149;;;;;;;;;4488:65;4414:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4414:149:211;;;;;;;;;;;;:::i;:::-;;4587:35;4605:16;4587:17;:35::i;:::-;4573:49;;4632:41;4652:11;4665:7;4632:19;:41::i;:::-;4683:52;4705:11;4718:16;4683:21;:52::i;:::-;4754:25;4774:4;4754:19;:25::i;:::-;4753:26;4745:58;;;;-1:-1:-1;;;4745:58:211;;8662:2:229;4745:58:211;;;8644:21:229;8701:2;8681:18;;;8674:30;8740:21;8720:18;;;8713:49;8779:18;;4745:58:211;8460:343:229;4745:58:211;4813:31;4833:4;4839;4813:19;:31::i;:::-;4854:37;4873:11;4886:4;4854:18;:37::i;:::-;4901:40;4914:16;4932:8;4901:12;:40::i;:::-;4246:702;4111:837;;;;;:::o;6106:492::-;6181:20;6231:14;6242:2;6231:10;:14::i;:::-;6217:10;:28;6213:379;;-1:-1:-1;6276:2:211;6106:492;;;:::o;6213:379::-;6314:9;6309:273;6329:2;6325:1;:6;6309:273;;;6373:10;6356:13;6367:1;6356:10;:13::i;:::-;:27;;:61;;;;-1:-1:-1;6407:10:211;6387:17;6398:5;:1;6402;6398:5;:::i;:::-;6387:10;:17::i;:::-;:30;6356:61;6352:155;;;6456:5;:1;6460;6456:5;:::i;:::-;6441:20;;6483:5;;6352:155;6546:3;;;;:::i;:::-;;;;6309:273;;;;6106:492;;;:::o;1989:129::-;2049:14;2084:27;2099:11;2084:14;:27::i;1853:130::-;1912:13;1945:31;1964:11;1945:18;:31::i;3123:413::-;3193:4;3209:20;3232:28;3248:11;3106:2;3082:26;;2973:144;3232:28;3209:51;-1:-1:-1;2830:37:211;;;3270:15;3359:17;:15;:17::i;:::-;-1:-1:-1;;;;;3359:25:211;;3385:7;3359:34;;;;;;;;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;3359:34:211;;;;;;;;;;;;;;;;;;;-1:-1:-1;3359:34:211;;;;;;;;-1:-1:-1;;3359:34:211;;;;;;;;;;;;:::i;:::-;;;3355:135;;;3436:17;:15;:17::i;:::-;-1:-1:-1;;;;;3436:25:211;;3462:7;3436:34;;;;;;;;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;3436:34:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3426:44;;3394:87;3355:135;3517:12;-1:-1:-1;;;;;3506:23:211;:7;-1:-1:-1;;;;;3506:23:211;;3499:30;;;;;3123:413;;;:::o;4954:545::-;5069:33;5090:11;5069:20;:33::i;:::-;5068:34;5060:90;;;;-1:-1:-1;;;5060:90:211;;9785:2:229;5060:90:211;;;9767:21:229;9824:2;9804:18;;;9797:30;9863:34;9843:18;;;9836:62;9934:13;9914:18;;;9907:41;9965:19;;5060:90:211;9583:407:229;5060:90:211;5168:21;5177:11;5168:8;:21::i;:::-;5160:53;;;;-1:-1:-1;;;5160:53:211;;10197:2:229;5160:53:211;;;10179:21:229;10236:2;10216:18;;;10209:30;10275:21;10255:18;;;10248:49;10314:18;;5160:53:211;9995:343:229;5160:53:211;5223:26;5291:34;5306:11;5319:5;5291:14;:34::i;:::-;5382:110;5435:16;5453:11;5477;5466:23;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;5466:23:211;;;;-1:-1:-1;;5466:23:211;;;;;;;;;;5400:91;;;;;;;:::i;:::-;;;;-1:-1:-1;;5400:91:211;;;;;;;;;;;;;;;;;;;;5382:17;:110::i;:::-;;5050:449;4954:545;;;:::o;2460:266::-;2534:19;2565:20;2588:17;:15;:17::i;:::-;-1:-1:-1;;;;;2588:25:211;;2614:16;2588:43;;;;;;;;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;2588:43:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2697:2;2663:36;-1:-1:-1;;2663:36:211;:55;;;;;;-1:-1:-1;;2460:266:211:o;3542:212::-;3621:4;3644:31;3663:11;3644:18;:31::i;:::-;:103;;;;;3742:5;-1:-1:-1;;;;;3679:68:211;:17;:15;:17::i;:::-;:59;;;;;2830:37;;;3679:59;;;4284:25:229;-1:-1:-1;;;;;3679:25:211;;;;;;;4257:18:229;;3679:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3679:68:211;;3644:103;3637:110;3542:212;-1:-1:-1;;;3542:212:211:o;6604:219::-;6698:21;6707:11;6698:8;:21::i;:::-;6690:60;;;;-1:-1:-1;;;6690:60:211;;10974:2:229;6690:60:211;;;10956:21:229;11013:2;10993:18;;;10986:30;11052:28;11032:18;;;11025:56;11098:18;;6690:60:211;10772:350:229;6690:60:211;6760:56;2830:37;;;6807:8;6760:12;:56::i;:::-;6604:219;;:::o;5505:595::-;5570:21;5579:11;5570:8;:21::i;:::-;5562:52;;;;-1:-1:-1;;;5562:52:211;;11329:2:229;5562:52:211;;;11311:21:229;11368:2;11348:18;;;11341:30;11407:20;11387:18;;;11380:48;11445:18;;5562:52:211;11127:342:229;5562:52:211;5633:33;5654:11;5633:20;:33::i;:::-;5632:34;5624:72;;;;-1:-1:-1;;;5624:72:211;;11676:2:229;5624:72:211;;;11658:21:229;11715:2;11695:18;;;11688:30;11754:27;11734:18;;;11727:55;11799:18;;5624:72:211;11474:349:229;5624:72:211;5706:26;5735:22;5745:11;5735:9;:22::i;:::-;5785:1;5767:15;;;:19;5825:23;;;;5796:19;;;:53;5706:51;-1:-1:-1;5859:33:211;5869:11;5706:51;5859:9;:33::i;:::-;5909:8;:6;:8::i;:::-;5902:51;;;;;;;;12028:25:229;;;5945:7:211;12069:18:229;;;12062:34;-1:-1:-1;;;;;5902:29:211;;;;;;;12001:18:229;;5902:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6000:8;:6;:8::i;:::-;-1:-1:-1;;;;;5993:38:211;;6032:11;5993:51;;;;;;;;;;;;;4284:25:229;;4272:2;4257:18;;4138:177;5993:51:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6054:39;6075:11;6088:4;6054:20;:39::i;7669:125::-;7729:7;7755:32;7775:11;7755:19;:32::i;1942:98:123:-;1981:7;2003:32;:30;:32::i;7800:130:211:-;7865:7;7891:32;7911:11;7891:19;:32::i;13270:402:194:-;13324:23;;:::i;:::-;13384:16;;;13398:1;13384:16;;;;;;;;;13355:26;;13384:16;;;;;;;;;;;-1:-1:-1;13384:16:194;13355:45;;13421:8;13406:9;13416:1;13406:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;13437:24;;;13524:80;1310:66;13569:9;1439:66;13524:21;:80::i;:::-;13436:168;;;;;;13617:50;13624:11;13637:15;13654:12;13617:6;:50::i;:::-;13610:57;13270:402;-1:-1:-1;;;;;;13270:402:194:o;2992:383:123:-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;7003:347:211:-;7059:7;7078:25;7106:42;:40;:42::i;:::-;7078:70;;7158:24;7185:50;7213:17;7233:1;7185:19;:50::i;:::-;:54;;7238:1;7185:54;:::i;:::-;7158:81;;7249:61;7269:17;7288:1;7292:16;7249:19;:61::i;1157:186:220:-;1215:10;1240:100;1275:15;1303:9;1320:18;1240:25;:100::i;4730:249:178:-;4828:16;;;4842:1;4828:16;;;;;;;;;4799:26;;4828:16;;;;;;;;;;;-1:-1:-1;4828:16:178;4799:45;;4865:11;4850:9;4860:1;4850:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4883:91;1163:66;1147:83;;4920:9;4931:1;4952:5;4934:25;;;;;;;12445:2:229;12441:15;;;;-1:-1:-1;;12437:88:229;12425:101;;12551:2;12542:12;;12296:264;4934:25:178;;;;-1:-1:-1;;4934:25:178;;;;;;;;;1292:66;4883:26;:91::i;:::-;4793:186;4730:249;;:::o;3480:255::-;3582:16;;;3596:1;3582:16;;;;;;;;;3553:26;;3582:16;;;;;;;;;;;-1:-1:-1;3582:16:178;3553:45;;3619:11;3604:9;3614:1;3604:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3637:93;1163:66;1147:83;;3674:9;3685:1;3706:7;3688:27;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;2594:287:189;2700:16;;;2714:1;2700:16;;;;;;;;;2653:10;;;;2700:16;;;;;;;;;;;;-1:-1:-1;2700:16:189;2671:45;;2737:8;2722:9;2732:1;2722:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2752:13;2768:64;1069:66;2805:9;2752:13;1198:66;2768:26;:64::i;:::-;2752:80;;2846:29;2867:5;2854:20;;6948:5;6862:97;2846:29;2838:38;2594:287;-1:-1:-1;;;;2594:287:189:o;3890:240::-;3982:16;;;3996:1;3982:16;;;;;;;;;3953:26;;3982:16;;;;;;;;;;;-1:-1:-1;3982:16:189;3953:45;;4019:8;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4034:91;1069:66;1053:83;;4071:9;4082:1;4103:5;4085:25;;;;;;12903:14:229;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4085:25:189;;;;-1:-1:-1;;4085:25:189;;;;;;;;;1198:66;4034:26;:91::i;5941:246:178:-;6037:16;;;6051:1;6037:16;;;;;;;;;6008:26;;6037:16;;;;;;;;;;;-1:-1:-1;6037:16:178;6008:45;;6074:11;6059:9;6069:1;6059:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6092:90;1163:66;1147:83;;6129:9;6140:1;6161:4;6143:24;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;6829:168:211;6911:79;6932:38;6949:20;6932:16;:38::i;:::-;6972:7;6981:8;6911:20;:79::i;3297:296:183:-;3403:16;;;3417:1;3403:16;;;;;;;;;3348:18;;;;3403:16;;;;;;;;;;;;-1:-1:-1;3403:16:183;3374:45;;3456:5;3440:23;;3425:9;3435:1;3425:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;3470:13;3486:64;1061:66;3523:9;3470:13;-1:-1:-1;;;3486:26:183;:64::i;5624:288:194:-;5733:16;;;5747:1;5733:16;;;;;;;;;5683:13;;;;5733:16;;;;;;;;;;;;-1:-1:-1;5733:16:194;5704:45;;5770:8;5755:9;5765:1;5755:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;5785:13;5801:64;1310:66;5838:9;5849:1;1439:66;5801:26;:64::i;:::-;5785:80;-1:-1:-1;5886:20:194;;;;5878:29;;;;;;;;:::i;5306:279:178:-;5416:16;;;5430:1;5416:16;;;;;;;;;5367:12;;;;5416:16;;;;;;;;;;;;-1:-1:-1;5416:16:178;5387:45;;5453:11;5438:9;5448:1;5438:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;5471:13;5487:64;1163:66;5524:9;5535:1;1292:66;5487:26;:64::i;2279:175:211:-;2329:30;2404:42;:40;:42::i;6512:295:178:-;6623:16;;;6637:1;6623:16;;;;;;;;;6575:11;;;;6623:16;;;;;;;;;;;;-1:-1:-1;6623:16:178;6594:45;;6660:11;6645:9;6655:1;6645:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;6678:13;6694:64;1163:66;6731:9;6742:1;1292:66;6694:26;:64::i;7496:167:211:-;7558:4;7597:17;:15;:17::i;:::-;:59;;;;;2830:37;;;7597:59;;;4284:25:229;-1:-1:-1;;;;;7597:25:211;;;;;;;4257:18:229;;7597:59:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7581:75:211;:12;:10;:12::i;:::-;-1:-1:-1;;;;;7581:75:211;;;7496:167;-1:-1:-1;;7496:167:211:o;6279:248:194:-;6374:16;;;6388:1;6374:16;;;;;;;;;6345:26;;6374:16;;;;;;;;;;;-1:-1:-1;6374:16:194;6345:45;;6411:8;6396:9;6406:1;6396:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;6426:96;1310:66;6463:9;6474:1;6500:5;6494:12;;;;;;;;:::i;:::-;6477:30;;;;;;;13290:3:229;13286:16;;;;13304:66;13282:89;13270:102;;13397:1;13388:11;;13145:260;6477:30:194;;;;-1:-1:-1;;6477:30:194;;;;;;;;;1439:66;6426:26;:96::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;13966:98:229;13939:18;;3713:52:107;13822:248:229;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;15666:552:194:-;15737:24;15764:207;15784:6;:15;;;15807:6;:14;;;15829:6;:12;;;15849:6;:19;;;15876:6;:20;;;15904:6;:16;;;15928:6;:17;;;15953:6;:12;;;15764;:207::i;:::-;16075:16;;;16089:1;16075:16;;;;;;;;;15737:234;;-1:-1:-1;15978:30:194;;16014:25;;15978:30;;16075:16;;;;;;;;;;;;-1:-1:-1;16075:16:194;16046:45;;16112:8;16097:9;16107:1;16097:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;16127:86;1310:66;16159:9;16170:11;16183:15;16200:12;16127:21;:86::i;:::-;15731:487;;;;15666:552;;:::o;7183:249:178:-;7280:16;;;7294:1;7280:16;;;;;;;;;7251:26;;7280:16;;;;;;;;;;;-1:-1:-1;7280:16:178;7251:45;;7317:11;7302:9;7312:1;7302:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7335:92;1163:66;1147:83;;7372:9;7383:1;7404:6;7386:26;;;;;;12903:14:229;12896:22;12891:3;12887:32;12875:45;;12945:1;12936:11;;12752:201;4071:290:178;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:178;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:178:o;4048:97:123:-;4089:7;4111:29;:27;:29::i;10773:294:194:-;10892:16;;;10906:1;10892:16;;;;;;;;;10837:18;;;;10892:16;;;;;;;;;;;;-1:-1:-1;10892:16:194;10863:45;;10929:8;10914:9;10924:1;10914:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;10944:13;10960:64;1310:66;10997:9;11008:1;1439:66;10960:26;:64::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;17879:370:194:-;17990:23;;:::i;:::-;18219:25;18232:11;18219:12;:25::i;:::-;18198:12;;;18021:223;;;18173:17;;;18021:223;;;18149:16;;;18021:223;;;18121:20;;;18021:223;;;18094:19;;;18021:223;;;18029:6;18052:14;;;18074:12;;;18021:223;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;18021:223:194;;;;-1:-1:-1;17879:370:194;;;-1:-1:-1;;;;;17879:370:194:o;5084:257:195:-;5195:16;;;5136:22;5195:16;;;;;;;;;5218:13;5234:64;1248:66;5166:45;5282:1;1377:66;5234:26;:64::i;:::-;5312:23;;;5084:257;-1:-1:-1;;;5084:257:195:o;2640:388:180:-;2775:16;;;2789:1;2775:16;;;;;;;;2723:15;;;;2775:16;2789:1;2775:16;;;;;;;;;;-1:-1:-1;2775:16:180;2746:45;;2836:15;-1:-1:-1;;;;;2820:33:180;2812:42;;2797:9;2807:1;2797:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;2891:5;2875:23;;2860:9;2870:1;2860:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2905:13;2921:64;1065:66;2958:9;2905:13;-1:-1:-1;;;2921:26:180;:64::i;:::-;2905:80;2640:388;-1:-1:-1;;;;;2640:388:180:o;4344:349::-;4465:16;;;4479:1;4465:16;;;;;;;;4436:26;;4465:16;;;;;;;;;;-1:-1:-1;4465:16:180;4436:45;;4526:15;-1:-1:-1;;;;;4510:33:180;4502:42;;4487:9;4497:1;4487:12;;;;;;;;:::i;:::-;;;;;;:57;;;;;4581:5;4565:23;;4550:9;4560:1;4550:12;;;;;;;;:::i;:::-;;;;;;:38;;;;;4595:93;1065:66;1049:83;;4632:9;4643:1;4664:7;4646:27;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;4646:27:180;;;;-1:-1:-1;;4646:27:180;;;;;;;;;-1:-1:-1;;;4595:26:180;:93::i;:::-;4430:263;4344:349;;;:::o;1046:257:124:-;1133:10;1262:26;438:6;451:5:41;1262:26:124;:::i;:::-;-1:-1:-1;;1244:13:124;;:45;;451:5:41;1208:31:124;;;;;1189:15;;;:51;:101;;-1:-1:-1;1046:257:124;;;;;:::o;10761:455:46:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;:::-;10980:232;;;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;17775:457::-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1465:182:91:-;1524:10;1547:97;1583:14;1610:9;1627:14;1547:25;:97::i;3806:271:90:-;3933:16;;;3947:1;3933:16;;;;;;;;;3904:26;;3933:16;;;;;;;;;;;-1:-1:-1;3933:16:90;3904:45;;3986:7;3970:25;;3955:9;3965:1;3955:12;;;;;;;;:::i;:::-;;;;;;:40;;;;;4002:70;4030:8;4040:9;4051:1;4061:8;4002:27;:70::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;:::-;6214:57;;;;;;;;5805:471;;;:::o;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;18916:362:194:-;19145:12;19189:8;19199:7;19208:5;19215:12;19229:13;19244:9;19255:10;19267:5;19172:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19165:108;;18916:362;;;;;;;;;;:::o;6458:480:46:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;6692:242::-;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;1836:227::-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;16961:760:194:-;17053:16;17077:15;17100:13;17121:20;17149:21;17178:16;17202:18;17228:13;17276:26;17293:5;17300:1;35409:27:23;35423:4;35409:27;35403:34;;35277:170;17276:26:194;35409:27:23;;;35403:34;35409:27;;;35403:34;17268:35:194;;-1:-1:-1;35403:34:23;-1:-1:-1;17382:33:194;;17374:42;;;;;;;;:::i;:::-;35409:27:23;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;16961:760:194;;;;17366:50;;35403:34:23;;;;-1:-1:-1;35403:34:23;-1:-1:-1;35403:34:23;;-1:-1:-1;35403:34:23;-1:-1:-1;16961:760:194;-1:-1:-1;;16961:760:194:o;23107:355:45:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;36171:541::-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;11569:424:46:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:46;-1:-1:-1;;;;;11771:30:46;;;11767:222;;11811:69;11837:7;11846:8;11856:17;11875:4;11811:25;:69::i;:::-;11767:222;;;11901:81;;;;;-1:-1:-1;;;;;11901:37:46;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11714:279;11569:424;;;;:::o;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;:::-;8532:62;;;;-1:-1:-1;8363:236:133;-1:-1:-1;;;;8363:236:133:o;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;12066:286:45;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;51823:242:45:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;;;17128:1567;;17013:1682;;;;:::o;50806:191::-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;8945:812:44:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;24152:738:45:-;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:45;24551:49;24403:106;24582:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:45;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;7963:242:133:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3968:25:124;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;-1:-1:-1;;;3961:24:132;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;-1:-1:-1;;;5230:24:132;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4015:652:45;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;5042:669:44;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;53371:230:45:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;3658:342:50:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;966:162:44:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;44254:4001:45:-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;12694:19:229;;12738:2;12729:12;;12565:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26250:12:229;26289:15;;;45340:92:45;;;26271:34:229;26341:15;;;26321:18;;;26314:43;26393:15;;26373:18;;;26366:43;26213:18;;45340:92:45;26044:371:229;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26593:25:229;;;26666:12;26654:25;;26634:18;;;26627:53;26566:18;;45581:74:45;26420:266:229;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;-1:-1:-1;;2007:37:124;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;-1:-1:-1;;28531:79:229;;2092:30:124;;;28519:92:229;2092:30:124;;28627:12:229;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;51249:282:45:-;51494:30;;;;;;29374:19:229;;;29409:12;;;29402:28;;;51337:7:45;;29446:12:229;;51494:30:45;29185:279:229;1489:2340:44;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;37180:522:45:-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;40103:220:56:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;4284:25:229;;;4257:18;;7664:67:24;4138:177:229;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7448:223:139:-;35423:4:23;35409:27;;35403:34;35409:27;;;35403:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6862:97:189;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;6948:5:189;6862:97;2681:1129:58;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:229:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:229;;14:180;-1:-1:-1;14:180:229:o;430:332::-;488:6;541:2;529:9;520:7;516:23;512:32;509:52;;;557:1;554;547:12;509:52;596:9;583:23;646:66;639:5;635:78;628:5;625:89;615:117;;728:1;725;718:12;959:184;-1:-1:-1;;;1008:1:229;1001:88;1108:4;1105:1;1098:15;1132:4;1129:1;1122:15;1148:266;1228:1;1221:5;1218:12;1208:200;;-1:-1:-1;;;1261:1:229;1254:88;1365:4;1362:1;1355:15;1393:4;1390:1;1383:15;1208:200;1148:266;:::o;1419:777::-;1642:13;;1624:32;;1712:4;1700:17;;;1694:24;1672:20;;;1665:54;1766:4;1754:17;;1748:24;1611:3;1596:19;;;1781:43;1748:24;1781:43;:::i;:::-;1862:12;1855:4;1844:9;1840:20;1833:42;;1931:4;1923:6;1919:17;1913:24;1906:4;1895:9;1891:20;1884:54;1994:4;1986:6;1982:17;1976:24;1969:4;1958:9;1954:20;1947:54;2057:4;2049:6;2045:17;2039:24;2032:4;2021:9;2017:20;2010:54;2120:4;2112:6;2108:17;2102:24;2095:4;2084:9;2080:20;2073:54;2183:4;2175:6;2171:17;2165:24;2158:4;2147:9;2143:20;2136:54;1419:777;;;;:::o;2201:154::-;-1:-1:-1;;;;;2280:5:229;2276:54;2269:5;2266:65;2256:93;;2345:1;2342;2335:12;2360:184;-1:-1:-1;;;2409:1:229;2402:88;2509:4;2506:1;2499:15;2533:4;2530:1;2523:15;2549:334;2620:2;2614:9;2676:2;2666:13;;-1:-1:-1;;2662:86:229;2650:99;;2779:18;2764:34;;2800:22;;;2761:62;2758:88;;;2826:18;;:::i;:::-;2862:2;2855:22;2549:334;;-1:-1:-1;2549:334:229:o;2888:246::-;2937:4;2970:18;2962:6;2959:30;2956:56;;;2992:18;;:::i;:::-;-1:-1:-1;3049:2:229;3037:15;-1:-1:-1;;3033:88:229;3123:4;3029:99;;2888:246::o;3139:464::-;3182:5;3235:3;3228:4;3220:6;3216:17;3212:27;3202:55;;3253:1;3250;3243:12;3202:55;3289:6;3276:20;3320:49;3336:32;3365:2;3336:32;:::i;:::-;3320:49;:::i;:::-;3394:2;3385:7;3378:19;3440:3;3433:4;3428:2;3420:6;3416:15;3412:26;3409:35;3406:55;;;3457:1;3454;3447:12;3406:55;3522:2;3515:4;3507:6;3503:17;3496:4;3487:7;3483:18;3470:55;3570:1;3545:16;;;3563:4;3541:27;3534:38;;;;3549:7;3139:464;-1:-1:-1;;;3139:464:229:o;3608:525::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3940:2:229;3925:18;;3912:32;;-1:-1:-1;3995:2:229;3980:18;;3967:32;4022:18;4011:30;;4008:50;;;4054:1;4051;4044:12;4008:50;4077;4119:7;4110:6;4099:9;4095:22;4077:50;:::i;:::-;4067:60;;;3608:525;;;;;:::o;4687:235::-;4833:2;4818:18;;4845:37;4875:6;4845:37;:::i;:::-;4891:25;;;4687:235;:::o;4927:406::-;5018:6;5026;5034;5087:2;5075:9;5066:7;5062:23;5058:32;5055:52;;;5103:1;5100;5093:12;5055:52;5139:9;5126:23;5116:33;;5196:2;5185:9;5181:18;5168:32;5158:42;;5250:2;5239:9;5235:18;5222:32;5283:1;5276:5;5273:12;5263:40;;5299:1;5296;5289:12;5263:40;5322:5;5312:15;;;4927:406;;;;;:::o;5338:315::-;5406:6;5414;5467:2;5455:9;5446:7;5442:23;5438:32;5435:52;;;5483:1;5480;5473:12;5435:52;5519:9;5506:23;5496:33;;5579:2;5568:9;5564:18;5551:32;5592:31;5617:5;5592:31;:::i;:::-;5642:5;5632:15;;;5338:315;;;;;:::o;5658:390::-;5736:6;5744;5797:2;5785:9;5776:7;5772:23;5768:32;5765:52;;;5813:1;5810;5803:12;5765:52;5849:9;5836:23;5826:33;;5910:2;5899:9;5895:18;5882:32;5937:18;5929:6;5926:30;5923:50;;;5969:1;5966;5959:12;5923:50;5992;6034:7;6025:6;6014:9;6010:22;5992:50;:::i;:::-;5982:60;;;5658:390;;;;;:::o;6759:250::-;6844:1;6854:113;6868:6;6865:1;6862:13;6854:113;;;6944:11;;;6938:18;6925:11;;;6918:39;6890:2;6883:10;6854:113;;;-1:-1:-1;;7001:1:229;6983:16;;6976:27;6759:250::o;7014:329::-;7055:3;7093:5;7087:12;7120:6;7115:3;7108:19;7136:76;7205:6;7198:4;7193:3;7189:14;7182:4;7175:5;7171:16;7136:76;:::i;:::-;7257:2;7245:15;-1:-1:-1;;7241:88:229;7232:98;;;;7332:4;7228:109;;7014:329;-1:-1:-1;;7014:329:229:o;7348:320::-;7555:6;7544:9;7537:25;7598:2;7593;7582:9;7578:18;7571:30;7518:4;7618:44;7658:2;7647:9;7643:18;7635:6;7618:44;:::i;7673:442::-;7726:5;7779:3;7772:4;7764:6;7760:17;7756:27;7746:55;;7797:1;7794;7787:12;7746:55;7826:6;7820:13;7857:49;7873:32;7902:2;7873:32;:::i;7857:49::-;7931:2;7922:7;7915:19;7977:3;7970:4;7965:2;7957:6;7953:15;7949:26;7946:35;7943:55;;;7994:1;7991;7984:12;7943:55;8007:77;8081:2;8074:4;8065:7;8061:18;8054:4;8046:6;8042:17;8007:77;:::i;8120:335::-;8199:6;8252:2;8240:9;8231:7;8227:23;8223:32;8220:52;;;8268:1;8265;8258:12;8220:52;8301:9;8295:16;8334:18;8326:6;8323:30;8320:50;;;8366:1;8363;8356:12;8320:50;8389:60;8441:7;8432:6;8421:9;8417:22;8389:60;:::i;8808:184::-;-1:-1:-1;;;8857:1:229;8850:88;8957:4;8954:1;8947:15;8981:4;8978:1;8971:15;8997:125;9062:9;;;9083:10;;;9080:36;;;9096:18;;:::i;9127:195::-;9166:3;-1:-1:-1;;9190:5:229;9187:77;9184:103;;9267:18;;:::i;:::-;-1:-1:-1;9314:1:229;9303:13;;9127:195::o;9327:251::-;9397:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:52;;;9466:1;9463;9456:12;9418:52;9498:9;9492:16;9517:31;9542:5;9517:31;:::i;10343:424::-;10565:6;10554:9;10547:25;10581:37;10611:6;10581:37;:::i;:::-;10654:6;10649:2;10638:9;10634:18;10627:34;10697:2;10692;10681:9;10677:18;10670:30;10528:4;10717:44;10757:2;10746:9;10742:18;10734:6;10717:44;:::i;12107:184::-;-1:-1:-1;;;12156:1:229;12149:88;12256:4;12253:1;12246:15;12280:4;12277:1;12270:15;13410:407;13493:5;13533;13527:12;13575:4;13568:5;13564:16;13558:23;13600:66;13692:2;13688;13684:11;13675:20;;13718:1;13710:6;13707:13;13704:107;;;13798:2;13792;13782:6;13779:1;13775:14;13772:1;13768:22;13764:31;13760:2;13756:40;13752:49;13743:58;;13704:107;;;;13410:407;;;:::o;14075:439::-;14128:3;14166:5;14160:12;14193:6;14188:3;14181:19;14219:4;14248;14243:3;14239:14;14232:21;;14287:4;14280:5;14276:16;14310:1;14320:169;14334:6;14331:1;14328:13;14320:169;;;14395:13;;14383:26;;14429:12;;;;14464:15;;;;14356:1;14349:9;14320:169;;;-1:-1:-1;14505:3:229;;14075:439;-1:-1:-1;;;;;14075:439:229:o;14519:468::-;14819:6;14808:9;14801:25;14862:2;14857;14846:9;14842:18;14835:30;14782:4;14882:56;14934:2;14923:9;14919:18;14911:6;14882:56;:::i;:::-;14874:64;;14974:6;14969:2;14958:9;14954:18;14947:34;14519:468;;;;;;:::o;14992:655::-;15134:6;15142;15150;15203:2;15191:9;15182:7;15178:23;15174:32;15171:52;;;15219:1;15216;15209:12;15171:52;15252:9;15246:16;15281:18;15322:2;15314:6;15311:14;15308:34;;;15338:1;15335;15328:12;15308:34;15361:60;15413:7;15404:6;15393:9;15389:22;15361:60;:::i;:::-;15351:70;;15461:2;15450:9;15446:18;15440:25;15430:35;;15511:2;15500:9;15496:18;15490:25;15474:41;;15540:2;15530:8;15527:16;15524:36;;;15556:1;15553;15546:12;15524:36;;15579:62;15633:7;15622:8;15611:9;15607:24;15579:62;:::i;15652:709::-;16022:6;16011:9;16004:25;16065:3;16060:2;16049:9;16045:18;16038:31;15985:4;16092:57;16144:3;16133:9;16129:19;16121:6;16092:57;:::i;:::-;16197:4;16189:6;16185:17;16180:2;16169:9;16165:18;16158:45;16251:9;16243:6;16239:22;16234:2;16223:9;16219:18;16212:50;16279:32;16304:6;16296;16279:32;:::i;:::-;16271:40;;;16348:6;16342:3;16331:9;16327:19;16320:35;15652:709;;;;;;;;:::o;16366:548::-;16690:6;16679:9;16672:25;16733:3;16728:2;16717:9;16713:18;16706:31;16653:4;16754:57;16806:3;16795:9;16791:19;16783:6;16754:57;:::i;:::-;16859:4;16847:17;;;;16842:2;16827:18;;16820:45;-1:-1:-1;16896:2:229;16881:18;16874:34;16746:65;16366:548;-1:-1:-1;;16366:548:229:o;16919:184::-;16989:6;17042:2;17030:9;17021:7;17017:23;17013:32;17010:52;;;17058:1;17055;17048:12;17010:52;-1:-1:-1;17081:16:229;;16919:184;-1:-1:-1;16919:184:229:o;17108:707::-;17455:6;17450:3;17443:19;17492:6;17487:2;17482:3;17478:12;17471:28;17508:37;17538:6;17508:37;:::i;:::-;17579:3;17575:16;;;;17570:2;17561:12;;17554:38;17617:2;17608:12;;17601:28;;;;17654:2;17645:12;;17638:28;;;;17691:3;17682:13;;17675:29;17729:3;17720:13;;17713:29;17767:3;17758:13;;17751:29;17805:3;17796:13;;17108:707;-1:-1:-1;;17108:707:229:o;17820:794::-;18215:6;18204:9;18197:25;18258:3;18253:2;18242:9;18238:18;18231:31;18178:4;18285:57;18337:3;18326:9;18322:19;18314:6;18285:57;:::i;:::-;18390:9;18382:6;18378:22;18373:2;18362:9;18358:18;18351:50;18424:32;18449:6;18441;18424:32;:::i;:::-;18410:46;;18492:6;18487:2;18476:9;18472:18;18465:34;18548:9;18540:6;18536:22;18530:3;18519:9;18515:19;18508:51;18576:32;18601:6;18593;18576:32;:::i;:::-;18568:40;17820:794;-1:-1:-1;;;;;;;;17820:794:229:o;18619:175::-;18656:3;18700:4;18693:5;18689:16;18729:4;18720:7;18717:17;18714:43;;18737:18;;:::i;:::-;18786:1;18773:15;;18619:175;-1:-1:-1;;18619:175:229:o;18799:604::-;19108:6;19097:9;19090:25;19151:3;19146:2;19135:9;19131:18;19124:31;19071:4;19178:57;19230:3;19219:9;19215:19;19207:6;19178:57;:::i;:::-;19283:4;19275:6;19271:17;19266:2;19255:9;19251:18;19244:45;19337:9;19329:6;19325:22;19320:2;19309:9;19305:18;19298:50;19365:32;19390:6;19382;19365:32;:::i;:::-;19357:40;18799:604;-1:-1:-1;;;;;;;18799:604:229:o;19735:128::-;19802:9;;;19823:11;;;19820:37;;;19837:18;;:::i;19868:168::-;19941:9;;;19972;;19989:15;;;19983:22;;19969:37;19959:71;;20010:18;;:::i;20041:640::-;20292:6;20287:3;20280:19;20262:3;20318:2;20351;20346:3;20342:12;20383:6;20377:13;20448:2;20440:6;20436:15;20469:1;20479:175;20493:6;20490:1;20487:13;20479:175;;;20556:13;;20542:28;;20592:14;;;;20629:15;;;;20515:1;20508:9;20479:175;;;-1:-1:-1;20670:5:229;;20041:640;-1:-1:-1;;;;;;;20041:640:229:o;20686:184::-;-1:-1:-1;;;20735:1:229;20728:88;20835:4;20832:1;20825:15;20859:4;20856:1;20849:15;20875:511;21126:2;21115:9;21108:21;21089:4;21152:56;21204:2;21193:9;21189:18;21181:6;21152:56;:::i;:::-;21256:14;21248:6;21244:27;21239:2;21228:9;21224:18;21217:55;21320:9;21312:6;21308:22;21303:2;21292:9;21288:18;21281:50;21348:32;21373:6;21365;21348:32;:::i;21391:616::-;21702:6;21691:9;21684:25;21745:3;21740:2;21729:9;21725:18;21718:31;21665:4;21772:57;21824:3;21813:9;21809:19;21801:6;21772:57;:::i;:::-;21877:14;21869:6;21865:27;21860:2;21849:9;21845:18;21838:55;21941:9;21933:6;21929:22;21924:2;21913:9;21909:18;21902:50;21969:32;21994:6;21986;21969:32;:::i;22012:925::-;22461:66;22453:6;22449:79;22444:3;22437:92;22419:3;22548;22580:2;22576:1;22571:3;22567:11;22560:23;22612:6;22606:13;22628:74;22695:6;22691:1;22686:3;22682:11;22675:4;22667:6;22663:17;22628:74;:::i;:::-;22730:6;22725:3;22721:16;22711:26;;22765:2;22761:1;22757:2;22753:10;22746:22;22799:6;22793:13;22777:29;;22815:75;22881:8;22877:1;22873:2;22869:10;22862:4;22854:6;22850:17;22815:75;:::i;:::-;22910:17;22929:1;22906:25;;22012:925;-1:-1:-1;;;;;22012:925:229:o;22942:339::-;23119:2;23108:9;23101:21;23082:4;23139:44;23179:2;23168:9;23164:18;23156:6;23139:44;:::i;:::-;23131:52;;-1:-1:-1;;;;;23223:6:229;23219:55;23214:2;23203:9;23199:18;23192:83;22942:339;;;;;:::o;23286:287::-;23415:3;23453:6;23447:13;23469:66;23528:6;23523:3;23516:4;23508:6;23504:17;23469:66;:::i;:::-;23551:16;;;;;23286:287;-1:-1:-1;;23286:287:229:o;23578:690::-;23913:3;23902:9;23895:22;23876:4;23940:57;23992:3;23981:9;23977:19;23969:6;23940:57;:::i;:::-;24045:9;24037:6;24033:22;24028:2;24017:9;24013:18;24006:50;24079:32;24104:6;24096;24079:32;:::i;:::-;24065:46;;24147:6;24142:2;24131:9;24127:18;24120:34;24202:9;24194:6;24190:22;24185:2;24174:9;24170:18;24163:50;24230:32;24255:6;24247;24230:32;:::i;24273:899::-;24729:6;24718:9;24711:25;24772:3;24767:2;24756:9;24752:18;24745:31;24692:4;24799:57;24851:3;24840:9;24836:19;24828:6;24799:57;:::i;:::-;24904:9;24896:6;24892:22;24887:2;24876:9;24872:18;24865:50;24938:32;24963:6;24955;24938:32;:::i;:::-;24924:46;;25006:6;25001:2;24990:9;24986:18;24979:34;25062:9;25054:6;25050:22;25044:3;25033:9;25029:19;25022:51;25090:32;25115:6;25107;25090:32;:::i;:::-;25082:40;;;25159:6;25153:3;25142:9;25138:19;25131:35;24273:899;;;;;;;;;:::o;25396:464::-;25643:66;25635:6;25631:79;25620:9;25613:98;25747:6;25742:2;25731:9;25727:18;25720:34;25790:2;25785;25774:9;25770:18;25763:30;25594:4;25810:44;25850:2;25839:9;25835:18;25827:6;25810:44;:::i;25865:174::-;25932:12;25964:10;;;25976;;;25960:27;;25999:11;;;25996:37;;;26013:18;;:::i;:::-;25996:37;25865:174;;;;:::o;26691:901::-;27116:6;27105:9;27098:25;27159:3;27154:2;27143:9;27139:18;27132:31;27079:4;27186:57;27238:3;27227:9;27223:19;27215:6;27186:57;:::i;:::-;27291:4;27279:17;;27274:2;27259:18;;27252:45;27316:12;27364:15;;;27359:2;27344:18;;27337:43;27417:15;;27411:3;27396:19;;27389:44;27464:3;27449:19;;27442:35;;;27514:22;;;27508:3;27493:19;;27486:51;27554:32;27518:6;27571;27554:32;:::i;:::-;27546:40;26691:901;-1:-1:-1;;;;;;;;;;26691:901:229:o;27597:788::-;27962:3;27951:9;27944:22;27925:4;27989:57;28041:3;28030:9;28026:19;28018:6;27989:57;:::i;:::-;28094:4;28086:6;28082:17;28077:2;28066:9;28062:18;28055:45;28148:14;28140:6;28136:27;28131:2;28120:9;28116:18;28109:55;28212:12;28204:6;28200:25;28195:2;28184:9;28180:18;28173:53;28263:6;28257:3;28246:9;28242:19;28235:35;28319:9;28311:6;28307:22;28301:3;28290:9;28286:19;28279:51;28347:32;28372:6;28364;28347:32;:::i;:::-;28339:40;27597:788;-1:-1:-1;;;;;;;;;27597:788:229:o;28650:530::-;28835:3;28873:6;28867:13;28889:66;28948:6;28943:3;28936:4;28928:6;28924:17;28889:66;:::i;:::-;29024:2;29020:15;;;;-1:-1:-1;;29016:88:229;28977:16;;;;29002:103;;;29132:2;29121:14;;29114:30;;;;29171:2;29160:14;;28650:530;-1:-1:-1;;28650:530:229:o;29469:359::-;29672:2;29661:9;29654:21;29635:4;29692:44;29732:2;29721:9;29717:18;29709:6;29692:44;:::i;:::-;29767:2;29752:18;;29745:34;;;;-1:-1:-1;29810:2:229;29795:18;29788:34;29684:52;29469:359;-1:-1:-1;29469:359:229:o","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","enterGame(bytes32)":"c74dedc8","getCharacterTokenId(bytes32)":"f8c67561","getClass(bytes32)":"23801570","getCurrentAvailableLevel(uint256)":"1ecb393f","getExperience(bytes32)":"ebee03bb","getName(bytes32)":"54b8d5e3","getOwner(bytes32)":"deb931a2","getOwnerAddress(bytes32)":"00d43ec6","getPlayerEntityId(uint256)":"8338f0e0","getStats(bytes32)":"0bb700dc","isValidCharacterId(bytes32)":"623daa05","isValidOwner(bytes32,address)":"9b63ec05","mintCharacter(address,bytes32,string)":"143f3021","rollStats(bytes32,bytes32,uint8)":"679ee16d","supportsInterface(bytes4)":"01ffc9a7","updateTokenUri(bytes32,string)":"b27cbcbb"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"enterGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getCharacterTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getClass\",\"outputs\":[{\"internalType\":\"enum Classes\",\"name\":\"_class\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"}],\"name\":\"getCurrentAvailableLevel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLevel\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getExperience\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getOwnerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"characterTokenId\",\"type\":\"uint256\"}],\"name\":\"getPlayerEntityId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"getStats\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"strength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"agility\",\"type\":\"uint256\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"intelligence\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseHitPoints\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"currentHp\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"experience\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct StatsData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"name\":\"isValidCharacterId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isValidOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"mintCharacter\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"userRandomNumber\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"enum Classes\",\"name\":\"class\",\"type\":\"uint8\"}],\"name\":\"rollStats\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"characterId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"name\":\"updateTokenUri\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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.\"}},\"getOwnerAddress(bytes32)\":{\"details\":\"extracts the character nft owner address from the character Id\"},\"mintCharacter(address,bytes32,string)\":{\"params\":{\"account\":\"the address of the account that will own the character\",\"name\":\"the keccack256 hash of the characters name to check for duplicates\",\"tokenUri\":\"the token uri to be set for the character token\"},\"returns\":{\"characterId\":\"the bytes32 character id combination of the owner address and the tokenId\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/CharacterSystem.sol\":\"CharacterSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"constants.sol\":{\"keccak256\":\"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c\",\"dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM\"]},\"lib/ERC1155-puppet/IERC1155System.sol\":{\"keccak256\":\"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c\",\"dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol\":{\"keccak256\":\"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b\",\"dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16\",\"dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47\",\"dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2\",\"dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733\",\"dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c\",\"dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3\",\"dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c\",\"dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS\"]},\"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol\":{\"keccak256\":\"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a\",\"dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab\",\"dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol\":{\"keccak256\":\"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67\",\"dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol\":{\"keccak256\":\"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415\",\"dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol\":{\"keccak256\":\"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd\",\"dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc\"]},\"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol\":{\"keccak256\":\"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379\",\"license\":\"Apache 2\",\"urls\":[\"bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952\",\"dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/IRngSystem.sol\":{\"keccak256\":\"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02\",\"dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/CharacterSystem.sol\":{\"keccak256\":\"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465\",\"dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN\"]},\"src/utils.sol\":{\"keccak256\":\"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57\",\"dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"enterGame"},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getCharacterTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getClass","outputs":[{"internalType":"enum Classes","name":"_class","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"experience","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCurrentAvailableLevel","outputs":[{"internalType":"uint256","name":"currentLevel","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getExperience","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"bytes32","name":"_name","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"getOwnerAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"characterTokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPlayerEntityId","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStats","outputs":[{"internalType":"struct StatsData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"strength","type":"uint256"},{"internalType":"uint256","name":"agility","type":"uint256"},{"internalType":"enum Classes","name":"class","type":"uint8"},{"internalType":"uint256","name":"intelligence","type":"uint256"},{"internalType":"uint256","name":"baseHitPoints","type":"uint256"},{"internalType":"int256","name":"currentHp","type":"int256"},{"internalType":"uint256","name":"experience","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"}]}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isValidCharacterId","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"isValidOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"name","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"mintCharacter","outputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"userRandomNumber","type":"bytes32"},{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"enum Classes","name":"class","type":"uint8"}],"stateMutability":"payable","type":"function","name":"rollStats"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"characterId","type":"bytes32"},{"internalType":"string","name":"tokenUri","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateTokenUri"}],"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."}},"getOwnerAddress(bytes32)":{"details":"extracts the character nft owner address from the character Id"},"mintCharacter(address,bytes32,string)":{"params":{"account":"the address of the account that will own the character","name":"the keccack256 hash of the characters name to check for duplicates","tokenUri":"the token uri to be set for the character token"},"returns":{"characterId":"the bytes32 character id combination of the owner address and the tokenId"}},"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/CharacterSystem.sol":"CharacterSystem"},"evmVersion":"paris","libraries":{}},"sources":{"constants.sol":{"keccak256":"0xdd3ebcb4c411e951e1d5c68d6287c597f8f6ab874b48ae96600e024326bd7059","urls":["bzz-raw://61cf2ec85c2dcfde0de8d6c12cdb78b59f8b94a8662dd122bc1aca013cc69c7c","dweb:/ipfs/QmdsELzf5enAbpe5ERXRJgyg2PvtiAUiiX7dT85BLtKpCM"],"license":"MIT"},"lib/ERC1155-puppet/IERC1155System.sol":{"keccak256":"0x324481afcc10bb871430340e0ddea5613a7a7dc7436ad8067b64e787791d9c74","urls":["bzz-raw://cbf2f86e7c18feb303c9201417a85af320f148907fa637b25b56e7484325d64c","dweb:/ipfs/QmW35pffC8PK5Y7afxLc6qYYiDjH4NayRggogPazy5JsEi"],"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":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/interfaces/IERC20System.sol":{"keccak256":"0xedfc9636840fcf8c665f0535b0e9469ba191a2b028d6913dcd7a134dc9844ec1","urls":["bzz-raw://d9cc01f46fd862d4cb5a5efd93911c5b98420112ab999d46f0c24fec74a58b4b","dweb:/ipfs/QmXrpDMPj7VS8ywkt4mkhE1FatJcQtR2gCAwr7aEYonmrg"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0x87b18a3fe819a06930749c60912e28d3add40de2881d976d4d7565858468ac8e","urls":["bzz-raw://90d6f52696977e65bbc4a3d937ac4be843e2d1006591b861b2b3038c7a7e1d16","dweb:/ipfs/QmS2vsjycwSgGPgWrPEDdFK5WTvE6ixhzYQLL57xHJAXNv"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0xc408b8c878980829678cf94ca6d83c71c0587e802221d226c84b66c60a198903","urls":["bzz-raw://9a04ce4eafe37b18476b4dbbd207eff2e33b1ea073a06d5ff8df8e08aa69ac47","dweb:/ipfs/QmTqKcfCXBntqtEcGobHMTJyy37xv93t1342RvqtpgnDQx"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0x4ea76f18fbb68319807fe1fa39d3035b8177bd30c3977c40ed41e9810ffebb13","urls":["bzz-raw://2f0508d70a34ce0661e52b4201996bea5e61e0108a4a218acc3728be5d51fbc2","dweb:/ipfs/QmQx9bX9cYUENRvXV55NhHL3TFiNXGqvVyy8aYDA1KCagn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0xa647391a56ac17e6e73a5fb04d641c8a97abde19a7da80a8fc80902d7cce36aa","urls":["bzz-raw://862f638b4e4b300067f6a485580ec904d428281de46e3a186b558ff3e15e4733","dweb:/ipfs/QmUkgdfZJtwyBSrCyckw9GVFrZsD1rUAK2Nd3GBH12duLo"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/constants.sol":{"keccak256":"0xf8a29616bcb176258295bae6dcb8c9eada8e18812c823c3490ff238370f3a64d","urls":["bzz-raw://f800f102f773e4c5b2281b44a9f477d7a4d7dca13ddb369fa0d4479cddbfb04c","dweb:/ipfs/QmSiqQuHY8cPTXkpnK3NyZCkeATzjYNpoR8vrijrfLdwqn"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x7fe5517ff1843d9fe70dd37beb18a954efe3c62f2d484fbf8e0646f22a1493a7","urls":["bzz-raw://abc83f7656b5a33f695d900f9da3fb5896054a41eb0f5c963d2b01794a8461e3","dweb:/ipfs/QmWXV2jZ8Tp3k4zNyqG3GNN9SchsDK1zSQwFXCvEGmnRuy"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc721-puppet/utils.sol":{"keccak256":"0xd497c2610d37ef3b800e3aef80d36661c60b5e36325565c3bc5c3ce986b641a5","urls":["bzz-raw://7406b572bdef593e1a8d0faaa94e9869108fc2cc7955da3aa3a62a56428c9a0c","dweb:/ipfs/QmPKnuzAkPVyhpJz25fNCfGcvyPPZZWgsm5QbKZva82EWS"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/AccessControlLib.sol":{"keccak256":"0x9fb1520ec94ce3396760a235db900192b4990c78fd459c449896a74c32b83542","urls":["bzz-raw://4025b37988ece6915b2c867702a4a381829755dd9e5b0b0b32ade85649b00b2a","dweb:/ipfs/QmUsLyetPdhtSdN3MicE1uphXWscKBPSBif8Sd83RC1E6Z"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xcb1e9fd5cd02cbb7125f2a64c02f89272d4b0f2afc0b43f24b727f023ef06493","urls":["bzz-raw://f4a923e67dea1c1c0a978cbb89d4e27f6e0205f49efe0556ac90b358bd2062ab","dweb:/ipfs/QmZww8gDH9kyXsCaTYWzupNhL1QqR1emAbb5VifFWhDWYF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyEvents.sol":{"keccak256":"0xd8a8c77c864481ee7620adf8b92219f3c68c626271887e26330362642053f504","urls":["bzz-raw://f918e6fcdf4cc8c991ff4c7d81860c6b0e3b4b536e543361309cfecd8a8ecf67","dweb:/ipfs/QmdBuzs7dyGGaceP4QDqu3MLnqeBLbsEpCKGWyz3a9kY8v"],"license":"Apache-2.0"},"node_modules/@pythnetwork/entropy-sdk-solidity/EntropyStructs.sol":{"keccak256":"0xace052155e23df810ba04a93da02fc527efd0a6fd9244d95574af5d8891934e7","urls":["bzz-raw://31d77a8a3cfb552c684867ec96bb8ea0e59573db7d3108cd561b03e4749fd415","dweb:/ipfs/QmepPDf6digkAGepANKv3yW8d5QqmJQqWjgmWSzNJVkMLq"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropy.sol":{"keccak256":"0x9d4556ea3b36960a43e6f4c2df53f5e4ffa980deaa2c15bfdefc5f66258ca748","urls":["bzz-raw://21d4bded2b3b30f3ced6ea24694e3b04bb94cab28796ee2786720a80e0b73bdd","dweb:/ipfs/QmQfBFzSZj9cNxne8izUE1fYvfFoGjAisUa3aeh2YYDuqc"],"license":"Apache 2"},"node_modules/@pythnetwork/entropy-sdk-solidity/IEntropyConsumer.sol":{"keccak256":"0xf3d3dee1e9cbdef70b6c1f4d79aa8b438413e4636c00e79e615da9dc4df9c379","urls":["bzz-raw://0e473522447c8f92a43f4fa3e54d83a789e12cc44b2a86847bd238a7f8827952","dweb:/ipfs/Qmdihx73a89EZYy2GpitTxK92SWDLyPWeWnJTZ4Acva958"],"license":"Apache 2"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/IRngSystem.sol":{"keccak256":"0x87595683df74e1357f3562deffadb410ac94c98cbc765d4b7327ae3d39032ec0","urls":["bzz-raw://c05e5ed25cff2606f26b2e370801257bfcd6c1fe10b23d21c68b3a6d55fcbb02","dweb:/ipfs/QmV6Ddyj4A86bbsjGfi4J61wcJH6vR9C4RfXmhiQiJuZQn"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/CharacterSystem.sol":{"keccak256":"0x2d85d572da7e3e926a21e3ee464616d739cdea77f4aad1bd4a9e7af71d3da488","urls":["bzz-raw://33cfed9d7ab860d8662aad43f26548c1a29aab365af93b0f38e26a958161b465","dweb:/ipfs/Qmdz2hKBD39WCNWksM1rTxLtMdAbBCbwfcnyqAPbgGEJpN"],"license":"MIT"},"src/utils.sol":{"keccak256":"0xf50d451bb280fb33e08f521e168952f5145e69eee7df284ffeb1865b8b5187cc","urls":["bzz-raw://a78e6326639bdf19f606921e48c90663f387cbfd7d8160a461838e9ca6a0fc57","dweb:/ipfs/QmPT6PNCCQKWVP9bwYC4JyfuXJSgbupsgq6MT898gYfa1q"],"license":"MIT"}},"version":1},"id":211}
\ No newline at end of file
diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json
index 845602636..3a7858dd3 100644
--- a/packages/contracts/out/MapSystem.sol/MapSystem.json
+++ b/packages/contracts/out/MapSystem.sol/MapSystem.json
@@ -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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220c47d61b49bc23938b62fc8aa7c841674bfa06b7af56051568dd65a107a781da864736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220c47d61b49bc23938b62fc8aa7c841674bfa06b7af56051568dd65a107a781da864736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:228;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:228;;;689:74;;677:2;662:18;1262:113:123;543:226:228;1755:239:216;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:228;;1401:2;1386:18;1616:110:123;1267:177:228;1580:169:216;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:216:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:216:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:216;;1279:70;;;;-1:-1:-1;;;1279:70:216;;2807:2:228;1279:70:216;;;2789:21:228;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:216;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:216;;3212:2:228;1360:67:216;;;3194:21:228;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:216;3010:349:228;1360:67:216;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:216;;605:69;;;;-1:-1:-1;;;605:69:216;;3566:2:228;605:69:216;;;3548:21:228;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:216;3364:399:228;605:69:216;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:216;;3970:2:228;685:62:216;;;3952:21:228;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:216;3768:345:228;685:62:216;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:216;;4320:2:228;885:37:216;;;4302:21:228;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:216;4118:339:228;885:37:216;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:216;;4664:2:228;932:38:216;;;4646:21:228;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:216;4462:339:228;932:38:216;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:216;;5008:2:228;980:91:216;;;4990:21:228;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:216;4806:354:228;980:91:216;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:190:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:190;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:181:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:181;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:181:o;4071:290:178:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:178;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:178:o;2592:291:192:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:192;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:192:o;5796:354:190:-;7947:22;;;16149:3:228;16145:16;;;16054:66;16141:25;;;7947:22:190;;;;16129:38:228;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:190;;;;;;;;;6023:1;16238:11:228;;;6009:16:190;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:190;;-1:-1:-1;;6023:1:190;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:190;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:192:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:192;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:228;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:192;;;;-1:-1:-1;;4107:27:192;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:181:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:181;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;9759:28:181;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:184:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:216:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:216;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:216:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:216;;7009:2:228;4393:63:216;;;6991:21:228;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:216;6807:355:228;4393:63:216;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:216;;7369:2:228;2296:80:216;;;7351:21:228;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:216;7167:403:228;2296:80:216;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:228;;1401:2;1386:18;;1267:177;2515:42:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:216;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:228;2594:9:216;;:20;;1386:18:228;;2594:38:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:216;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:228;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:216;;;;-1:-1:-1;;2754:148:216;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:216;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:190:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:190;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:190;-1:-1:-1;;;;7036:160:190:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:181:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:181;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;12402:28:181;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:181;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:216:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:187:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:187;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:228;18911:18;;3713:52:107;18794:248:228;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:216:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:216;;3609:106;-1:-1:-1;3609:106:216:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:228;25536:15;;;45340:92:45;;;25518:34:228;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:228;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:228;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:228;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:228;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:228;;51494:30:45;27964:279:228;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:228;;;1386:18;;7664:67:24;1267:177:228;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:228;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:228;30142:79;;2092:30:124;;;30130:92:228;2092:30:124;;30238:12:228;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:192;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:192;6914:97;14:332:228;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:228;;1710:439;-1:-1:-1;;;;;1710:439:228:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:228;;2420:180;-1:-1:-1;2420:180:228:o;5165:184::-;-1:-1:-1;;;5214:1:228;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:228;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:228;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:228;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:228;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:228;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:228;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:228;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:228;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:228;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:228;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:228:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:228;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:228:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:228:o;10716:184::-;-1:-1:-1;;;10765:1:228;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:228:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:228;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:228;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:228;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:228;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:228:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:228;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:228:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:228;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:228:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:228;;15702:184;-1:-1:-1;15702:184:228:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:228:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:228:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:228;;21043:640;-1:-1:-1;;;;;;;21043:640:228:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:228:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:228:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:228:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:228;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:228:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:228:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":216}
\ No newline at end of file
+{"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":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"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_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"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":"0x608060405234801561001057600080fd5b50614150806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220c47d61b49bc23938b62fc8aa7c841674bfa06b7af56051568dd65a107a781da864736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3486,"length":20},{"start":3673,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046135b9565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461360d565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613649565b610236565b6040516100ac91906136b8565b61012e6101293660046136cb565b610249565b005b61012e61013e36600461360d565b610365565b6100bd6105a2565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee6105ac565b905090565b6000806000610201866105de565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361068f565b9392505050565b60006102548261074e565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f1826107eb565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a82600080610890565b610355826001610958565b61036160008084610a16565b5050565b60006103708461074e565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b610409846107eb565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600080610461866105de565b91509150600080610470610adc565b915091508061ffff168761ffff16106104cb5760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105225760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b61052e84848989610b59565b61ffff166001146105815760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61058e8885858a8a610bc7565b6105988787610cc3565b5050505050505050565b60006101ee610fc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806105db5750335b90565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110610618576106186136fa565b6020908102919091010152600080806106717f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b92509250925061068283838361109a565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b816000815181106106cf576106cf6136fa565b6020026020010181815250508261ffff1660001b816001815181106106f6576106f66136fa565b6020908102919091010152600061072e7f74625544000000000000000000000000456e7469746965734174506f7369746983836110bd565b90506107456107408260008451611184565b611212565b95945050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610787576107876136fa565b602090810291909101015260006107e07f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611223565b60601c949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610824576108246136fa565b6020908102919091010152600061087c7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611223565b90506108888160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b1660228301528251600481840301815260016024840181815260648501909552909360009360609385939160440190803683370190505090508681600081518110610917576109176136fa565b602090810291909101015261094f7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866112e0565b50505050505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061098e5761098e6136fa565b602002602001018181525050610a117f74625544000000000000000000000000537061776e656400000000000000000060001b826000856040516020016109dc91151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611395565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610a5257610a526136fa565b6020026020010181815250508261ffff1660001b81600181518110610a7957610a796136fa565b602002602001018181525050610ad67f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610ac291815260200190565b60405160208183030381529060405261140b565b50505050565b60408051600080825260208201909252819060008080610b3c7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000610fca565b925092509250610b4d83838361109a565b95509550505050509091565b6000808361ffff168661ffff1611610b7a57610b758685613726565b610b84565b610b848487613726565b905060008361ffff168661ffff1611610ba657610ba18685613726565b610bb0565b610bb08487613726565b9050610bbc8183613748565b979650505050505050565b6000610bd38585610236565b90506000805b8251811015610c5f5787838281518110610bf557610bf56136fa565b602002602001015103610c4d576001915060008360018551610c179190613763565b81518110610c2757610c276136fa565b60200260200101519050610c3d888884846114bd565b610c478888611588565b50610c5f565b80610c5781613776565b915050610bd9565b5080610cad5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610cb8878585610890565b61094f848489610a16565b6000610cda6000808561ffff168561ffff16611628565b61ffff16905080600003610ced57505050565b6000610cf882611646565b90506000815111610d715760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a6903610e0b5773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610da1600842613874565b6040518263ffffffff1660e01b8152600401610dbf91815260200190565b600060405180830381865af4158015610ddc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0491908101906138b4565b9050610e9e565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af4158015610e73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e9b91908101906138b4565b90505b60005b60068260018451610eb29190613763565b81518110610ec257610ec26136fa565b6020026020010151610ed49190613986565b63ffffffff16811015610fb857610faf838451848481518110610ef957610ef96136fa565b602002602001015163ffffffff16610f1191906139a9565b81518110610f2157610f216136fa565b60200260200101518787604051602401610f529392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc4248000000000000000000000000000000000000000000000000000000001790526116cd565b50600101610ea1565b505050505050565b60006101ee61177b565b6060600060606000610fda61177b565b9050306001600160a01b0382160361100357610ff78787876117ba565b93509350935050611091565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061104c908a908a908a906004016139bd565b600060405180830381865afa158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ff79190810190613a6e565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006110c961177b565b9050306001600160a01b038216036110ee576110e68585856118c2565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061113790889088908890600401613adb565b600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110e69190810190613b07565b509392505050565b6000818311806111945750835182115b156111d1578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613b68565b602084016111df8482613b8d565b905060006111ed8585613763565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061024283602060006118fc565b60008061122e61177b565b9050306001600160a01b038216036112545761124c86868686611977565b915050610888565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061129f908990899089908990600401613ba0565b602060405180830381865afa1580156112bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190613bcf565b60006112ea61177b565b9050306001600160a01b0382160361130e5761130986868686866119a4565b610fb8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061135b9089908990899089908990600401613be8565b600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50505050505050505050565b600061139f61177b565b9050306001600160a01b038216036113be5761130986868686866119ba565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061135b9089908990899089908990600401613c2d565b600061141561177b565b9050306001600160a01b0382160361143857611433858585856119cf565b6114b6565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611483908890889088908890600401613c74565b600060405180830381600087803b15801561149d57600080fd5b505af11580156114b1573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b816000815181106114f9576114f96136fa565b6020026020010181815250508361ffff1660001b81600181518110611520576115206136fa565b60200260200101818152505060008260405160200161154191815260200190565b6040516020818303038152906040529050610fb87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611a0a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106115c4576115c46136fa565b6020026020010181815250508161ffff1660001b816001815181106115eb576115eb6136fa565b602002602001018181525050610a117f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611ac3565b60006107456116378685611b36565b6116418685611b36565b611b58565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110611683576116836136fa565b602090810291909101015260006116bb7f746255440000000000000000000000004d6f627342794c6576656c000000000083836110bd565b90506108886107408260008451611184565b60606000806116e36116de85613ca8565b611b6f565b91509150816000801b03611749576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526108888285611c32565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806117b5573391505090565b919050565b60606000606060006117cb85611d0d565b90506117d8878783611d30565b935060006117e586611d69565b905080156118b7576117f78888611da6565b935066ffffffffffffff841667ffffffffffffffff81111561181b5761181b6136e4565b6040519080825280601f01601f191660200182016040528015611845576020820181803683370190505b5092506020830160005b828160ff1610156118b45760006118678b8b84611db9565b90506000611884888460ff166028026038011c64ffffffffff1690565b90506118938260008387611e39565b61189d8185613b8d565b9350505080806118ac90613cf8565b91505061184f565b50505b505093509350939050565b60606108886118d2858585611db9565b60006118f7856118e28989611da6565b9060ff166028026038011c64ffffffffff1690565b611f05565b6060600061190a8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161193057611930613970565b04905060405193506020840160208202810160405281855260005b8281101561196b578451871c82529387019360209091019060010161194b565b50505050509392505050565b60006107456119868686611f28565b60ff858116601b0360080285901c1661199f8587611f7e565b611faf565b6114b685858585856119b58b612000565b612085565b6114b685856119c98487611f7e565b856123be565b60006119db8585611da6565b905060006119f8828560ff166028026038011c64ffffffffff1690565b9050610fb88686868460008888612659565b6000611a1461177b565b9050306001600160a01b03821603611a3957611a34878787878787612a93565b61094f565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611a88908a908a908a908a908a908a90600401613d17565b600060405180830381600087803b158015611aa257600080fd5b505af1158015611ab6573d6000803e3d6000fd5b5050505050505050505050565b6000611acd61177b565b9050306001600160a01b03821603611aeb5761143385858585612aab565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611483908890889088908890600401613ba0565b6000818311611b4e57611b498383613763565b610242565b6102428284613763565b600081831015611b685781610242565b5090919050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611bc857611bc86136fa565b602090810291909101015260008080611c217f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000610fca565b925092509250610682838383612b04565b60606000611c3e610fc0565b90506001600160a01b0381163003611c7f576000611c66611c5d6105ac565b60008787612b10565b9350905080611c7857611c7883612c4b565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af0890611cc69087908790600401613d6d565b6000604051808303816000875af1158015611ce5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108889190810190613b07565b60006008611d1d60026020613763565b611d279190613d86565b9190911c919050565b606081600003611d4f5750604080516020810190915260008152610242565b6000611d5b8585611f28565b905061074581600085611f05565b60006008600180611d7c60026020613763565b611d869190613763565b611d909190613763565b611d9a9190613d86565b8260ff911c1692915050565b6000610242611db58484612c53565b5490565b60008383604051602001611dce929190613d9d565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215611ec05760208310611e6357602083048401935060208381611e5f57611e5f613970565b0692505b8215611ec0576020839003600081841015611e865750600019600884021c611e90565b50600019600882021c5b8554600886021b818451168219821617845250818411611eb1575050610ad6565b50600194909401939182900391015b5b60208210611ee25783548152600190930192601f1990910190602001611ec1565b8115610ad6576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261117c85858584611e39565b60008282604051602001611f3d929190613d9d565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561117c57611fa560ff601b83900360080287901c1683613b8d565b9150600101611f83565b600060208210611fd557602082048401935060208281611fd157611fd1613970565b0691505b508254600882021b60208290038084111561117c576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161204f57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de61207c7f746273746f72650000000000000000005461626c65730000000000000000000084612ca9565b60206000611faf565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361211157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516121049493929190613dd9565b60405180910390a2610fb8565b600061211c87612cc5565b905060005b81518110156121f557600082828151811061213e5761213e6136fa565b6020026020010151905061216a6001826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156121ec576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906121b9908c908c908c908c908c908c90600401613e18565b600060405180830381600087803b1580156121d357600080fd5b505af11580156121e7573d6000803e3d6000fd5b505050505b50600101612121565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161222c9493929190613dd9565b60405180910390a260006122408888611f28565b90506000602087019050612258826000895184612d6c565b600061226385611d69565b11156122e75760006122758a8a612c53565b878155905060208601915060008060005b61228f88611d69565b8160ff1610156122e2576122a48d8d83611db9565b92506122bf8a8260ff166028026038011c64ffffffffff1690565b91506122ce8360008488612d6c565b6122d88286613b8d565b9450600101612286565b505050505b60005b8351811015611389576000848281518110612307576123076136fa565b602002602001015190506123336002826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156123b5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90612382908e908e908e908e908e908e90600401613e18565b600060405180830381600087803b15801561239c57600080fd5b505af11580156123b0573d6000803e3d6000fd5b505050505b506001016122ea565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361244857837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161243b93929190613e71565b60405180910390a2610ad6565b60006124548585611f28565b9050600061246186612cc5565b905060005b8151811015612536576000828281518110612483576124836136fa565b602002602001015190506124af6004826affffffffffffffffffffff1916612d4e90919063ffffffff16565b1561252d576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124fa908b908b908b908b90600401613eae565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612466565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be86868660405161256b93929190613e71565b60405180910390a2612586828565ffffffffffff1685612e2b565b60005b815181101561094f5760008282815181106125a6576125a66136fa565b602002602001015190506125d26008826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612650576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061261d908b908b908b908b90600401613eae565b600060405180830381600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050505b50600101612589565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612719577f746200000000000000000000000000000000000000000000000000000000000087886040516020016126d791815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401613ee7565b6000612734828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361274d9190613763565b6127579190613b8d565b905080821415801561277957508161276f8688613f28565b64ffffffffff1614155b156127c9576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff16111561281a576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612827848984612e41565b905060006128348b612cc5565b905060005b81518110156128ff576000828281518110612856576128566136fa565b602002602001015190506128826010826affffffffffffffffffffff1916612d4e90919063ffffffff16565b156128f657606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b81526004016128c39796959493929190613f46565b600060405180830381600087803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b505050505b50600101612839565b5064ffffffffff881660005b8a60ff168160ff16101561293e57612932878260ff166028026038011c64ffffffffff1690565b9091019060010161290b565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161297996959493929190613fa4565b60405180910390a25082841461299a5760006129958c8c612c53565b839055505b60006129a78c8c8c611db9565b90506129bb818a64ffffffffff1689612e2b565b5060005b8151811015612a855760008282815181106129dc576129dc6136fa565b60200260200101519050612a086020826affffffffffffffffffffff1916612d4e90919063ffffffff16565b15612a7c57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612a499796959493929190613f46565b600060405180830381600087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050505b506001016129bf565b505050505050505050505050565b610fb8868686868686612aa68d8d611da6565b612659565b6000612ab78585611da6565b90506000612ad4828560ff166028026038011c64ffffffffff1690565b9050610fb8868686612aed8764ffffffffff8716613763565b604080516000815260208101909152889088612659565b6000806110b185612f0f565b60006060600080612b2086612f24565b90925090506001600160a01b038216612b715785612b3d87612fc8565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df929190613d6d565b80612b8057612b808689613105565b8615612bec577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612bd482613151565b9050612be982612be48b84613b8d565b6131e2565b50505b6000612bf88760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c3057612c2b88888488613296565b612c3c565b612c3c8888848861330e565b90999098509650505050505050565b805160208201fd5b60008282604051602001612c68929190613d9d565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001611f3d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612cff57612cff6136fa565b60209081029190910101526000612d377f746273746f726500000000000000000053746f7265486f6f6b7300000000000083836118c2565b9050610888612d498260008451611184565b61336f565b60008160ff1682612d5f8560581c90565b1660ff1614905092915050565b8215612de65760208310612d9657602083048401935060208381612d9257612d92613970565b0692505b8215612de65760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612dd7575050610ad6565b50600194909401939182900391015b5b60208210612e085780518455600190930192601f1990910190602001612de7565b8115610ad6576000600019600884021c8554835182191691161785555050505050565b610a1183838351612e3c8560200190565b612d6c565b600064ffffffffff821115612e85576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510612eb75780850382019150612ebf565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110612f5e57612f5e6136fa565b602090810291909101015260008080612fb77f7462776f726c6400000000000000000053797374656d73000000000000000000857e150200140100000000000000000000000000000000000000000000000000006117ba565b925092509250610682838383613380565b606081601081901b6000612fdb8361338c565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613036576130317fffffffffffffffffffffffffffff00000000000000000000000000000000000084166133a3565b61306d565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156130a35761309e836133a3565b6130da565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016130ec93929190613ff3565b6040516020818303038152906040529350505050919050565b61310f8282613447565b6103615761311c82612fc8565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df929190614081565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061318a5761318a6136fa565b602090810291909101015260006108887f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611977565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110613218576132186136fa565b602002602001018181525050610a117f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161326191815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ba565b60006060836001600160a01b031660006132b18589896134a5565b6040516132be91906140ac565b60006040518083038185875af1925050503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b509097909650945050505050565b60006060836001600160a01b03166133278488886134a5565b60405161333491906140ac565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b6060600061024283601560006118fc565b6000806110b1856134d4565b600061339a60706010613b8d565b9190911b919050565b606060005b6010811015613408577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613408576001016133a8565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610888565b60006134957f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617836134f0565b80610242575061024283836134f0565b60608383836040516020016134bc939291906140c8565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c612f1d565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613529576135296136fa565b602002602001018181525050826001600160a01b031660001b81600181518110613555576135556136fa565b602090810291909101015260006135ad7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611977565b90506107458160f81c90565b6000602082840312156135cb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff811681146117b557600080fd5b60008060006060848603121561362257600080fd5b83359250613632602085016135fb565b9150613640604085016135fb565b90509250925092565b6000806040838503121561365c57600080fd5b613665836135fb565b9150613673602084016135fb565b90509250929050565b60008151808452602080850194506020840160005b838110156136ad57815187529582019590820190600101613691565b509495945050505050565b602081526000610242602083018461367c565b6000602082840312156136dd57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561374157613741613710565b5092915050565b61ffff81811683821601908082111561374157613741613710565b818103818111156101de576101de613710565b6000600019820361378957613789613710565b5060010190565b600181815b808511156137cb5781600019048211156137b1576137b1613710565b808516156137be57918102915b93841c9390800290613795565b509250929050565b6000826137e2575060016101de565b816137ef575060006101de565b8160018114613805576002811461380f5761382b565b60019150506101de565b60ff84111561382057613820613710565b50506001821b6101de565b5060208310610133831016604e8410600b841016171561384e575081810a6101de565b6138588383613790565b806000190482111561386c5761386c613710565b029392505050565b600061024260ff8416836137d3565b604051601f8201601f1916810167ffffffffffffffff811182821017156138ac576138ac6136e4565b604052919050565b600060208083850312156138c757600080fd5b825167ffffffffffffffff808211156138df57600080fd5b818501915085601f8301126138f357600080fd5b815181811115613905576139056136e4565b8060051b9150613916848301613883565b818152918301840191848101908884111561393057600080fd5b938501935b83851015613964578451925063ffffffff831683146139545760008081fd5b8282529385019390850190613935565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff8084168061399d5761399d613970565b92169190910692915050565b6000826139b8576139b8613970565b500690565b8381526060602082015260006139d6606083018561367c565b9050826040830152949350505050565b60005b83811015613a015781810151838201526020016139e9565b50506000910152565b600082601f830112613a1b57600080fd5b815167ffffffffffffffff811115613a3557613a356136e4565b613a486020601f19601f84011601613883565b818152846020838601011115613a5d57600080fd5b6108888260208301602087016139e6565b600080600060608486031215613a8357600080fd5b835167ffffffffffffffff80821115613a9b57600080fd5b613aa787838801613a0a565b9450602086015193506040860151915080821115613ac457600080fd5b50613ad186828701613a0a565b9150509250925092565b838152606060208201526000613af4606083018561367c565b905060ff83166040830152949350505050565b600060208284031215613b1957600080fd5b815167ffffffffffffffff811115613b3057600080fd5b61088884828501613a0a565b60008151808452613b548160208601602086016139e6565b601f01601f19169290920160200192915050565b606081526000613b7b6060830186613b3c565b60208301949094525060400152919050565b808201808211156101de576101de613710565b848152608060208201526000613bb9608083018661367c565b60ff949094166040830152506060015292915050565b600060208284031215613be157600080fd5b5051919050565b85815260a060208201526000613c0160a083018761367c565b8281036040840152613c138187613b3c565b905084606084015282810360808401526139648185613b3c565b85815260a060208201526000613c4660a083018761367c565b60ff861660408401528281036060840152613c618186613b3c565b9150508260808301529695505050505050565b848152608060208201526000613c8d608083018661367c565b60ff851660408401528281036060840152610bbc8185613b3c565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015613cf05780818460040360031b1b83161693505b505050919050565b600060ff821660ff8103613d0e57613d0e613710565b60010192915050565b86815260c060208201526000613d3060c083018861367c565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a0840152613d608185613b3c565b9998505050505050505050565b8281526040602082015260006108886040830184613b3c565b80820281158282048414176101de576101de613710565b8281526000602080830184516020860160005b82811015613dcc57815184529284019290840190600101613db0565b5091979650505050505050565b608081526000613dec608083018761367c565b8281036020840152613dfe8187613b3c565b90508460408401528281036060840152610bbc8185613b3c565b86815260c060208201526000613e3160c083018861367c565b8281036040840152613e438188613b3c565b90508560608401528281036080840152613e5d8186613b3c565b9150508260a0830152979650505050505050565b606081526000613e84606083018661367c565b65ffffffffffff851660208401528281036040840152613ea48185613b3c565b9695505050505050565b848152608060208201526000613ec7608083018661367c565b65ffffffffffff851660408401528281036060840152610bbc8185613b3c565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107456060830184613b3c565b64ffffffffff81811683821601908082111561374157613741613710565b87815260e060208201526000613f5f60e083018961367c565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152613f968185613b3c565b9a9950505050505050505050565b60c081526000613fb760c083018961367c565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a0840152613d608185613b3c565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516140548160038601602089016139e6565b8084019050816003820152845191506140748260048301602088016139e6565b0160040195945050505050565b6040815260006140946040830185613b3c565b90506001600160a01b03831660208301529392505050565b600082516140be8184602087016139e6565b9190910192915050565b600084516140da8184602089016139e6565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220c47d61b49bc23938b62fc8aa7c841674bfa06b7af56051568dd65a107a781da864736f6c63430008180033","sourceMap":"412:4148:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:229;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:229;;;689:74;;677:2;662:18;1262:113:123;543:226:229;1755:239:216;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:229;;1401:2;1386:18;1616:110:123;1267:177:229;1580:169:216;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1174:400::-;;;;;;:::i;:::-;;:::i;:::-;;481:687;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1755:239:216:-;1836:18;1867:8;1877;1889:22;1902:8;1889:12;:22::i;:::-;1866:45;;;;1930:1;1925:6;;:1;:6;;;:16;;;;;1940:1;1935:6;;:1;:6;;;1925:16;1921:67;;;1973:4;1957:20;;1921:67;1856:138;;1755:239;;;;;:::o;1580:169::-;1652:35;1706:36;1737:1;1740;1706:30;:36::i;:::-;1699:43;1580:169;-1:-1:-1;;;1580:169:216:o;1174:400::-;1224:13;1240:29;1260:8;1240:19;:29::i;:::-;1224:45;;1303:5;-1:-1:-1;;;;;1287:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1287:21:216;;1279:70;;;;-1:-1:-1;;;1279:70:216;;2807:2:229;1279:70:216;;;2789:21:229;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1279:70:216;;;;;;;;;1369:28;1388:8;1369:18;:28::i;:::-;1368:29;1360:67;;;;-1:-1:-1;;;1360:67:216;;3212:2:229;1360:67:216;;;3194:21:229;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1360:67:216;3010:349:229;1360:67:216;1438:28;1451:8;1461:1;1464;1438:12;:28::i;:::-;1476:34;1495:8;1505:4;1476:18;:34::i;:::-;1520:47;1552:1;1555;1558:8;1520:31;:47::i;:::-;1214:360;1174:400;:::o;481:687::-;550:13;566:29;586:8;566:19;:29::i;:::-;550:45;;629:5;-1:-1:-1;;;;;613:21:216;:12;:10;:12::i;:::-;-1:-1:-1;;;;;613:21:216;;605:69;;;;-1:-1:-1;;;605:69:216;;3566:2:229;605:69:216;;;3548:21:229;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;605:69:216;3364:399:229;605:69:216;693:28;712:8;693:18;:28::i;:::-;685:62;;;;-1:-1:-1;;;685:62:216;;3970:2:229;685:62:216;;;3952:21:229;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;685:62:216;3768:345:229;685:62:216;759:15;776;795:22;808:8;795:12;:22::i;:::-;758:59;;;;828:13;843:12;859:15;:13;:15::i;:::-;827:47;;;;897:5;893:9;;:1;:9;;;885:37;;;;-1:-1:-1;;;885:37:216;;4320:2:229;885:37:216;;;4302:21:229;4359:2;4339:18;;;4332:30;4398:17;4378:18;;;4371:45;4433:18;;885:37:216;4118:339:229;885:37:216;944:6;940:10;;:1;:10;;;932:38;;;;-1:-1:-1;;;932:38:216;;4664:2:229;932:38:216;;;4646:21:229;4703:2;4683:18;;;4676:30;4742:17;4722:18;;;4715:45;4777:18;;932:38:216;4462:339:229;932:38:216;988:43;1006:8;1016;1026:1;1029;988:17;:43::i;:::-;:48;;1035:1;988:48;980:91;;;;-1:-1:-1;;;980:91:216;;5008:2:229;980:91:216;;;4990:21:229;5047:2;5027:18;;;5020:30;5086:32;5066:18;;;5059:60;5136:18;;980:91:216;4806:354:229;980:91:216;1081:47;1093:8;1103;1113;1123:1;1126;1081:11;:47::i;:::-;1138:23;1156:1;1159;1138:17;:23::i;:::-;540:628;;;;;481:687;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:190:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:190;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:181:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:181;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:181:o;4071:290:178:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:178;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:178:o;2592:291:192:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:192;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:192:o;5796:354:190:-;7947:22;;;16149:3:229;16145:16;;;16054:66;16141:25;;;7947:22:190;;;;16129:38:229;;;;16200:16;;;;16196:25;16183:11;;;16176:46;7947:22:190;;;;;;;;;6023:1;16238:11:229;;;6009:16:190;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:190;;-1:-1:-1;;6023:1:190;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:190;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:192:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:192;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;5694:14:229;5687:22;5682:3;5678:32;5666:45;;5736:1;5727:11;;5543:201;4107:27:192;;;;-1:-1:-1;;4107:27:192;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:181:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:181;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;9759:28:181;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;4657:361:184:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;2939:279:216:-;3041:6;3059:13;3083:3;3075:11;;:5;:11;;;:39;;3103:11;3109:5;3103:3;:11;:::i;:::-;3075:39;;;3089:11;3097:3;3089:5;:11;:::i;:::-;3059:55;;3124:13;3148:3;3140:11;;:5;:11;;;:39;;3168:11;3174:5;3168:3;:11;:::i;:::-;3140:39;;;3154:11;3162:3;3154:5;:11;:::i;:::-;3124:55;-1:-1:-1;3196:15:216;3124:55;3196:6;:15;:::i;:::-;3189:22;2939:279;-1:-1:-1;;;;;;;2939:279:216:o;3721:837::-;3833:25;3861:41;3883:8;3893;3861:21;:41::i;:::-;3833:69;;3912:24;3951:9;3946:438;3966:8;:15;3962:1;:19;3946:438;;;4017:8;4002;4011:1;4002:11;;;;;;;;:::i;:::-;;;;;;;:23;3998:327;;4067:4;4045:26;;4089:15;4107:8;4134:1;4116:8;:15;:19;;;;:::i;:::-;4107:29;;;;;;;;:::i;:::-;;;;;;;4089:47;;4154:65;4188:8;4198;4208:1;4211:7;4154:33;:65::i;:::-;4237:50;4268:8;4278;4237:30;:50::i;:::-;4305:5;;;3998:327;4356:3;;;;:::i;:::-;;;;3946:438;;;;4401:19;4393:63;;;;-1:-1:-1;;;4393:63:216;;7009:2:229;4393:63:216;;;6991:21:229;7048:2;7028:18;;;7021:30;7087:33;7067:18;;;7060:61;7138:18;;4393:63:216;6807:355:229;4393:63:216;4466:28;4479:8;4489:1;4492;4466:12;:28::i;:::-;4504:47;4536:1;4539;4542:8;4504:31;:47::i;2000:933::-;2066:24;2101:30;2120:1;2123;2126;2101:30;;2129:1;2101:30;;:18;:30::i;:::-;2093:39;;2066:66;;2146:16;2166:1;2146:21;2142:58;;2183:7;2000:933;;:::o;2142:58::-;2210:34;2247:39;2269:16;2247:21;:39::i;:::-;2210:76;;2331:1;2304:17;:24;:28;2296:80;;;;-1:-1:-1;;;2296:80:216;;7369:2:229;2296:80:216;;;7351:21:229;7408:2;7388:18;;;7381:30;7447:34;7427:18;;;7420:62;7518:9;7498:18;;;7491:37;7545:19;;2296:80:216;7167:403:229;2296:80:216;2387:19;2471:13;2488:5;2471:22;2467:176;;2515:9;:20;2536;2555:1;2536:15;:20;:::i;:::-;2515:42;;;;;;;;;;;;;1413:25:229;;1401:2;1386:18;;1267:177;2515:42:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2515:42:216;;;;;;;;;;;;:::i;:::-;2509:48;;2467:176;;;2594:38;;;;;2615:16;2594:38;;;1413:25:229;2594:9:216;;:20;;1386:18:229;;2594:38:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2594:38:216;;;;;;;;;;;;:::i;:::-;2588:44;;2467:176;2658:9;2653:274;2696:1;2674:3;2691:1;2678:3;:10;:14;;;;:::i;:::-;2674:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;2669:29;;:1;:29;2653:274;;;2719:197;2816:17;2851;:24;2842:3;2846:1;2842:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;2816:61;;;;;;;;:::i;:::-;;;;;;;2879:1;2882;2754:148;;;;;;;;;11408:25:229;;;11452:6;11494:15;;;11489:2;11474:18;;11467:43;11546:15;11541:2;11526:18;;11519:43;11396:2;11381:18;;11210:358;2754:148:216;;;;-1:-1:-1;;2754:148:216;;;;;;;;;;;;;;;;;;;;2719:17;:197::i;:::-;-1:-1:-1;2700:3:216;;2653:274;;;;2056:877;;;2000:933;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:190:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:190;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:190;-1:-1:-1;;;;7036:160:190:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:181:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:181;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;12402:28:181;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:181;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;3301:179:216:-;3400:6;3432:40;3437:16;3446:2;3450;3437:8;:16::i;:::-;3455;3464:2;3468;3455:8;:16::i;:::-;3432:4;:40::i;2600:342:187:-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:187;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;18938:98:229;18911:18;;3713:52:107;18794:248:229;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;3486:117:216:-;3549:7;3579:1;3575;:5;:21;;3591:5;3595:1;3591;:5;:::i;:::-;3575:21;;;3583:5;3587:1;3583;:5;:::i;3609:106::-;3668:7;3699:1;3694;:6;;:14;;3707:1;3694:14;;;-1:-1:-1;3703:1:216;;3609:106;-1:-1:-1;3609:106:216:o;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;25497:12:229;25536:15;;;45340:92:45;;;25518:34:229;25588:15;;;25568:18;;;25561:43;25640:15;;25620:18;;;25613:43;25460:18;;45340:92:45;25291:371:229;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;25840:25:229;;;25913:12;25901:25;;25881:18;;;25874:53;25813:18;;45581:74:45;25667:266:229;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28153:19:229;;;28188:12;;;28181:28;;;51337:7:45;;28225:12:229;;51494:30:45;27964:279:229;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:229;;;1386:18;;7664:67:24;1267:177:229;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;5878:19:229;;5922:2;5913:12;;5749:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30154:66:229;30142:79;;2092:30:124;;;30130:92:229;2092:30:124;;30238:12:229;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:192;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:192;6914:97;14:332:229;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:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:229;;1710:439;-1:-1:-1;;;;;1710:439:229:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:229;;2420:180;-1:-1:-1;2420:180:229:o;5165:184::-;-1:-1:-1;;;5214:1:229;5207:88;5314:4;5311:1;5304:15;5338:4;5335:1;5328:15;5354:184;-1:-1:-1;;;5403:1:229;5396:88;5503:4;5500:1;5493:15;5527:4;5524:1;5517:15;5936:184;-1:-1:-1;;;5985:1:229;5978:88;6085:4;6082:1;6075:15;6109:4;6106:1;6099:15;6125:171;6193:6;6232:10;;;6220;;;6216:27;;6255:12;;;6252:38;;;6270:18;;:::i;:::-;6252:38;6125:171;;;;:::o;6301:168::-;6368:6;6394:10;;;6406;;;6390:27;;6429:11;;;6426:37;;;6443:18;;:::i;6474:128::-;6541:9;;;6562:11;;;6559:37;;;6576:18;;:::i;6607:195::-;6646:3;-1:-1:-1;;6670:5:229;6667:77;6664:103;;6747:18;;:::i;:::-;-1:-1:-1;6794:1:229;6783:13;;6607:195::o;7575:476::-;7664:1;7701:5;7664:1;7715:330;7736:7;7726:8;7723:21;7715:330;;;7855:4;-1:-1:-1;;7783:77:229;7777:4;7774:87;7771:113;;;7864:18;;:::i;:::-;7914:7;7904:8;7900:22;7897:55;;;7934:16;;;;7897:55;8013:22;;;;7973:15;;;;7715:330;;;7719:3;7575:476;;;;;:::o;8056:866::-;8105:5;8135:8;8125:80;;-1:-1:-1;8176:1:229;8190:5;;8125:80;8224:4;8214:76;;-1:-1:-1;8261:1:229;8275:5;;8214:76;8306:4;8324:1;8319:59;;;;8392:1;8387:130;;;;8299:218;;8319:59;8349:1;8340:10;;8363:5;;;8387:130;8424:3;8414:8;8411:17;8408:43;;;8431:18;;:::i;:::-;-1:-1:-1;;8487:1:229;8473:16;;8502:5;;8299:218;;8601:2;8591:8;8588:16;8582:3;8576:4;8573:13;8569:36;8563:2;8553:8;8550:16;8545:2;8539:4;8536:12;8532:35;8529:77;8526:159;;;-1:-1:-1;8638:19:229;;;8670:5;;8526:159;8717:34;8742:8;8736:4;8717:34;:::i;:::-;8847:6;-1:-1:-1;;8775:79:229;8766:7;8763:92;8760:118;;;8858:18;;:::i;:::-;8896:20;;8056:866;-1:-1:-1;;;8056:866:229:o;8927:140::-;8985:5;9014:47;9055:4;9045:8;9041:19;9035:4;9014:47;:::i;9262:334::-;9333:2;9327:9;9389:2;9379:13;;-1:-1:-1;;9375:86:229;9363:99;;9492:18;9477:34;;9513:22;;;9474:62;9471:88;;;9539:18;;:::i;:::-;9575:2;9568:22;9262:334;;-1:-1:-1;9262:334:229:o;9601:1110::-;9695:6;9726:2;9769;9757:9;9748:7;9744:23;9740:32;9737:52;;;9785:1;9782;9775:12;9737:52;9818:9;9812:16;9847:18;9888:2;9880:6;9877:14;9874:34;;;9904:1;9901;9894:12;9874:34;9942:6;9931:9;9927:22;9917:32;;9987:7;9980:4;9976:2;9972:13;9968:27;9958:55;;10009:1;10006;9999:12;9958:55;10038:2;10032:9;10060:2;10056;10053:10;10050:36;;;10066:18;;:::i;:::-;10112:2;10109:1;10105:10;10095:20;;10135:28;10159:2;10155;10151:11;10135:28;:::i;:::-;10197:15;;;10267:11;;;10263:20;;;10228:12;;;;10295:19;;;10292:39;;;10327:1;10324;10317:12;10292:39;10351:11;;;;10371:310;10387:6;10382:3;10379:15;10371:310;;;10460:3;10454:10;10441:23;;10508:10;10501:5;10497:22;10490:5;10487:33;10477:131;;10562:1;10591:2;10587;10580:14;10477:131;10621:18;;;10404:12;;;;10659;;;;10371:310;;;10700:5;9601:1110;-1:-1:-1;;;;;;;;9601:1110:229:o;10716:184::-;-1:-1:-1;;;10765:1:229;10758:88;10865:4;10862:1;10855:15;10889:4;10886:1;10879:15;10905:183;10936:1;10962:10;10999:2;10996:1;10992:10;11021:3;11011:37;;11028:18;;:::i;:::-;11066:10;;11062:20;;;;;10905:183;-1:-1:-1;;10905:183:229:o;11093:112::-;11125:1;11151;11141:35;;11156:18;;:::i;:::-;-1:-1:-1;11190:9:229;;11093:112::o;11573:468::-;11873:6;11862:9;11855:25;11916:2;11911;11900:9;11896:18;11889:30;11836:4;11936:56;11988:2;11977:9;11973:18;11965:6;11936:56;:::i;:::-;11928:64;;12028:6;12023:2;12012:9;12008:18;12001:34;11573:468;;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:229;12270:16;;12263:27;12046:250::o;12301:568::-;12354:5;12407:3;12400:4;12392:6;12388:17;12384:27;12374:55;;12425:1;12422;12415:12;12374:55;12454:6;12448:13;12480:18;12476:2;12473:26;12470:52;;;12502:18;;:::i;:::-;12546:114;12654:4;-1:-1:-1;;12578:4:229;12574:2;12570:13;12566:86;12562:97;12546:114;:::i;:::-;12685:2;12676:7;12669:19;12731:3;12724:4;12719:2;12711:6;12707:15;12703:26;12700:35;12697:55;;;12748:1;12745;12738:12;12697:55;12761:77;12835:2;12828:4;12819:7;12815:18;12808:4;12800:6;12796:17;12761:77;:::i;12874:655::-;13016:6;13024;13032;13085:2;13073:9;13064:7;13060:23;13056:32;13053:52;;;13101:1;13098;13091:12;13053:52;13134:9;13128:16;13163:18;13204:2;13196:6;13193:14;13190:34;;;13220:1;13217;13210:12;13190:34;13243:60;13295:7;13286:6;13275:9;13271:22;13243:60;:::i;:::-;13233:70;;13343:2;13332:9;13328:18;13322:25;13312:35;;13393:2;13382:9;13378:18;13372:25;13356:41;;13422:2;13412:8;13409:16;13406:36;;;13438:1;13435;13428:12;13406:36;;13461:62;13515:7;13504:8;13493:9;13489:24;13461:62;:::i;:::-;13451:72;;;12874:655;;;;;:::o;13534:442::-;13797:6;13786:9;13779:25;13840:2;13835;13824:9;13820:18;13813:30;13760:4;13860:56;13912:2;13901:9;13897:18;13889:6;13860:56;:::i;:::-;13852:64;;13964:4;13956:6;13952:17;13947:2;13936:9;13932:18;13925:45;13534:442;;;;;;:::o;13981:335::-;14060:6;14113:2;14101:9;14092:7;14088:23;14084:32;14081:52;;;14129:1;14126;14119:12;14081:52;14162:9;14156:16;14195:18;14187:6;14184:30;14181:50;;;14227:1;14224;14217:12;14181:50;14250:60;14302:7;14293:6;14282:9;14278:22;14250:60;:::i;14321:329::-;14362:3;14400:5;14394:12;14427:6;14422:3;14415:19;14443:76;14512:6;14505:4;14500:3;14496:14;14489:4;14482:5;14478:16;14443:76;:::i;:::-;14564:2;14552:15;-1:-1:-1;;14548:88:229;14539:98;;;;14639:4;14535:109;;14321:329;-1:-1:-1;;14321:329:229:o;14655:359::-;14858:2;14847:9;14840:21;14821:4;14878:44;14918:2;14907:9;14903:18;14895:6;14878:44;:::i;:::-;14953:2;14938:18;;14931:34;;;;-1:-1:-1;14996:2:229;14981:18;14974:34;14870:52;14655:359;-1:-1:-1;14655:359:229:o;15019:125::-;15084:9;;;15105:10;;;15102:36;;;15118:18;;:::i;15149:548::-;15473:6;15462:9;15455:25;15516:3;15511:2;15500:9;15496:18;15489:31;15436:4;15537:57;15589:3;15578:9;15574:19;15566:6;15537:57;:::i;:::-;15642:4;15630:17;;;;15625:2;15610:18;;15603:45;-1:-1:-1;15679:2:229;15664:18;15657:34;15529:65;15149:548;-1:-1:-1;;15149:548:229:o;15702:184::-;15772:6;15825:2;15813:9;15804:7;15800:23;15796:32;15793:52;;;15841:1;15838;15831:12;15793:52;-1:-1:-1;15864:16:229;;15702:184;-1:-1:-1;15702:184:229:o;16260:794::-;16655:6;16644:9;16637:25;16698:3;16693:2;16682:9;16678:18;16671:31;16618:4;16725:57;16777:3;16766:9;16762:19;16754:6;16725:57;:::i;:::-;16830:9;16822:6;16818:22;16813:2;16802:9;16798:18;16791:50;16864:32;16889:6;16881;16864:32;:::i;:::-;16850:46;;16932:6;16927:2;16916:9;16912:18;16905:34;16988:9;16980:6;16976:22;16970:3;16959:9;16955:19;16948:51;17016:32;17041:6;17033;17016:32;:::i;17059:709::-;17429:6;17418:9;17411:25;17472:3;17467:2;17456:9;17452:18;17445:31;17392:4;17499:57;17551:3;17540:9;17536:19;17528:6;17499:57;:::i;:::-;17604:4;17596:6;17592:17;17587:2;17576:9;17572:18;17565:45;17658:9;17650:6;17646:22;17641:2;17630:9;17626:18;17619:50;17686:32;17711:6;17703;17686:32;:::i;:::-;17678:40;;;17755:6;17749:3;17738:9;17734:19;17727:35;17059:709;;;;;;;;:::o;17773:604::-;18082:6;18071:9;18064:25;18125:3;18120:2;18109:9;18105:18;18098:31;18045:4;18152:57;18204:3;18193:9;18189:19;18181:6;18152:57;:::i;:::-;18257:4;18249:6;18245:17;18240:2;18229:9;18225:18;18218:45;18311:9;18303:6;18299:22;18294:2;18283:9;18279:18;18272:50;18339:32;18364:6;18356;18339:32;:::i;18382:407::-;18465:5;18505;18499:12;18547:4;18540:5;18536:16;18530:23;18572:66;18664:2;18660;18656:11;18647:20;;18690:1;18682:6;18679:13;18676:107;;;18770:2;18764;18754:6;18751:1;18747:14;18744:1;18740:22;18736:31;18732:2;18728:40;18724:49;18715:58;;18676:107;;;;18382:407;;;:::o;19047:175::-;19084:3;19128:4;19121:5;19117:16;19157:4;19148:7;19145:17;19142:43;;19165:18;;:::i;:::-;19214:1;19201:15;;19047:175;-1:-1:-1;;19047:175:229:o;19227:793::-;19588:6;19577:9;19570:25;19631:3;19626:2;19615:9;19611:18;19604:31;19551:4;19658:57;19710:3;19699:9;19695:19;19687:6;19658:57;:::i;:::-;19763:4;19751:17;;19746:2;19731:18;;19724:45;19788:12;19836:15;;;19831:2;19816:18;;19809:43;19889:15;;19883:3;19868:19;;19861:44;19942:22;;;19936:3;19921:19;;19914:51;19982:32;19946:6;19999;19982:32;:::i;:::-;19974:40;19227:793;-1:-1:-1;;;;;;;;;19227:793:229:o;20545:320::-;20752:6;20741:9;20734:25;20795:2;20790;20779:9;20775:18;20768:30;20715:4;20815:44;20855:2;20844:9;20840:18;20832:6;20815:44;:::i;20870:168::-;20943:9;;;20974;;20991:15;;;20985:22;;20971:37;20961:71;;21012:18;;:::i;21043:640::-;21294:6;21289:3;21282:19;21264:3;21320:2;21353;21348:3;21344:12;21385:6;21379:13;21450:2;21442:6;21438:15;21471:1;21481:175;21495:6;21492:1;21489:13;21481:175;;;21558:13;;21544:28;;21594:14;;;;21631:15;;;;21517:1;21510:9;21481:175;;;-1:-1:-1;21672:5:229;;21043:640;-1:-1:-1;;;;;;;21043:640:229:o;21688:690::-;22023:3;22012:9;22005:22;21986:4;22050:57;22102:3;22091:9;22087:19;22079:6;22050:57;:::i;:::-;22155:9;22147:6;22143:22;22138:2;22127:9;22123:18;22116:50;22189:32;22214:6;22206;22189:32;:::i;:::-;22175:46;;22257:6;22252:2;22241:9;22237:18;22230:34;22312:9;22304:6;22300:22;22295:2;22284:9;22280:18;22273:50;22340:32;22365:6;22357;22340:32;:::i;22383:899::-;22839:6;22828:9;22821:25;22882:3;22877:2;22866:9;22862:18;22855:31;22802:4;22909:57;22961:3;22950:9;22946:19;22938:6;22909:57;:::i;:::-;23014:9;23006:6;23002:22;22997:2;22986:9;22982:18;22975:50;23048:32;23073:6;23065;23048:32;:::i;:::-;23034:46;;23116:6;23111:2;23100:9;23096:18;23089:34;23172:9;23164:6;23160:22;23154:3;23143:9;23139:19;23132:51;23200:32;23225:6;23217;23200:32;:::i;:::-;23192:40;;;23269:6;23263:3;23252:9;23248:19;23241:35;22383:899;;;;;;;;;:::o;23287:511::-;23538:2;23527:9;23520:21;23501:4;23564:56;23616:2;23605:9;23601:18;23593:6;23564:56;:::i;:::-;23668:14;23660:6;23656:27;23651:2;23640:9;23636:18;23629:55;23732:9;23724:6;23720:22;23715:2;23704:9;23700:18;23693:50;23760:32;23785:6;23777;23760:32;:::i;:::-;23752:40;23287:511;-1:-1:-1;;;;;;23287:511:229:o;23803:616::-;24114:6;24103:9;24096:25;24157:3;24152:2;24141:9;24137:18;24130:31;24077:4;24184:57;24236:3;24225:9;24221:19;24213:6;24184:57;:::i;:::-;24289:14;24281:6;24277:27;24272:2;24261:9;24257:18;24250:55;24353:9;24345:6;24341:22;24336:2;24325:9;24321:18;24314:50;24381:32;24406:6;24398;24381:32;:::i;24643:464::-;24890:66;24882:6;24878:79;24867:9;24860:98;24994:6;24989:2;24978:9;24974:18;24967:34;25037:2;25032;25021:9;25017:18;25010:30;24841:4;25057:44;25097:2;25086:9;25082:18;25074:6;25057:44;:::i;25112:174::-;25179:12;25211:10;;;25223;;;25207:27;;25246:11;;;25243:37;;;25260:18;;:::i;25938:901::-;26363:6;26352:9;26345:25;26406:3;26401:2;26390:9;26386:18;26379:31;26326:4;26433:57;26485:3;26474:9;26470:19;26462:6;26433:57;:::i;:::-;26538:4;26526:17;;26521:2;26506:18;;26499:45;26563:12;26611:15;;;26606:2;26591:18;;26584:43;26664:15;;26658:3;26643:19;;26636:44;26711:3;26696:19;;26689:35;;;26761:22;;;26755:3;26740:19;;26733:51;26801:32;26765:6;26818;26801:32;:::i;:::-;26793:40;25938:901;-1:-1:-1;;;;;;;;;;25938:901:229:o;26844:788::-;27209:3;27198:9;27191:22;27172:4;27236:57;27288:3;27277:9;27273:19;27265:6;27236:57;:::i;:::-;27341:4;27333:6;27329:17;27324:2;27313:9;27309:18;27302:45;27395:14;27387:6;27383:27;27378:2;27367:9;27363:18;27356:55;27459:12;27451:6;27447:25;27442:2;27431:9;27427:18;27420:53;27510:6;27504:3;27493:9;27489:19;27482:35;27566:9;27558:6;27554:22;27548:3;27537:9;27533:19;27526:51;27594:32;27619:6;27611;27594:32;:::i;28248:925::-;28697:66;28689:6;28685:79;28680:3;28673:92;28655:3;28784;28816:2;28812:1;28807:3;28803:11;28796:23;28848:6;28842:13;28864:74;28931:6;28927:1;28922:3;28918:11;28911:4;28903:6;28899:17;28864:74;:::i;:::-;28966:6;28961:3;28957:16;28947:26;;29001:2;28997:1;28993:2;28989:10;28982:22;29035:6;29029:13;29013:29;;29051:75;29117:8;29113:1;29109:2;29105:10;29098:4;29090:6;29086:17;29051:75;:::i;:::-;29146:17;29165:1;29142:25;;28248:925;-1:-1:-1;;;;;28248:925:229:o;29178:339::-;29355:2;29344:9;29337:21;29318:4;29375:44;29415:2;29404:9;29400:18;29392:6;29375:44;:::i;:::-;29367:52;;-1:-1:-1;;;;;29459:6:229;29455:55;29450:2;29439:9;29435:18;29428:83;29178:339;;;;;:::o;29709:287::-;29838:3;29876:6;29870:13;29892:66;29951:6;29946:3;29939:4;29931:6;29927:17;29892:66;:::i;:::-;29974:16;;;;;29709:287;-1:-1:-1;;29709:287:229:o;30261:530::-;30446:3;30484:6;30478:13;30500:66;30559:6;30554:3;30547:4;30539:6;30535:17;30500:66;:::i;:::-;30635:2;30631:15;;;;30648:66;30627:88;30588:16;;;;30613:103;;;30743:2;30732:14;;30725:30;;;;30782:2;30771:14;;30261:530;-1:-1:-1;;30261:530:229:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3454,"length":20},{"start":3641,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"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\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"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\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite 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.\"}},\"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\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"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_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"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\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"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/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2\",\"dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614\",\"dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405\",\"dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8\",\"dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b\",\"dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227\",\"dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f\",\"dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782\",\"dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087\",\"dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0\",\"dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64\",\"dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5\",\"dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732\",\"dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"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":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"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":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"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":["@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"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/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x84ff02d4275be694bfbe1e60e24539a891dda5df3bacf04f0eb2a974425603d0","urls":["bzz-raw://f88775b86cdc8322742e528072b64d01df3d3ef70d4fc5104412522e468ae4e2","dweb:/ipfs/Qme75CeS2sA8pr1Tyx9GN5atmuG4aBGjMPaagaGtYTjc2R"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xe3b7e993ca2e420d73b845fb37388d453486e24522b941503a2f81c639769725","urls":["bzz-raw://e638c35d3ec5805180122b70849bd3a93aa680f3251ac9e7fe4f0ff24722f614","dweb:/ipfs/QmVL3xJPrsVDgXQTdxBEkq4PRmyNDCFHGHKJxLQzuFy9XJ"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x27431d9ff6ee373083856c0b7ffc9ac15f1bb93535620e726c621a8b626f4696","urls":["bzz-raw://50c1bf4f51c81d6299e05fbc65b0deb6104a0706ebeb1e618f5c3bd8e556a405","dweb:/ipfs/QmZcgbtpq9RxfQNEDEM6iQ7eHR5ya9wY4AJkWnnxaEjMBq"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x2f840caffed593a80b84a16f186701e0b55eff03cc6fa6c210a6dd9cdf25237d","urls":["bzz-raw://7b6a76de959876e594bf5426dfe3ef9112b84d65e252a117031cfced3bce25a8","dweb:/ipfs/QmTosFfy3ME9N71CjHmTRLUWGJWa8sK81jdNcB3YaFa9oG"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0x1f0b21a82c18d474347446546973619289392ee9cc745eccbfb4ba802771b2e2","urls":["bzz-raw://f0a514e9aa8c0265e8ac7284587cdfec829ad4904e511a284d44a325f9ee511b","dweb:/ipfs/QmYGbphJpnBQMsTEtAM78kqH56FrzrmBFVNthRM4WLdUSQ"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0xe941a99c5bc6b4f21b69b4ad61870a3c4b35fa3a7d8e162c75ac3e7515717891","urls":["bzz-raw://eaa285996201485c500f114b98515ce121d87ec29780085dc509d32dff96b227","dweb:/ipfs/QmbnDdw5KqwfGspTKgikXCkvn6Gi6mVWca2yXiPoumhEJP"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x3ea10f6af2b29e07f658e961113a68db383bb5df7ec853bd797bd1cc14d19b0d","urls":["bzz-raw://c834cb0bb80ffe10c6175f8a16b827dde9804d459e6aa33691484e419587d47f","dweb:/ipfs/QmXnLXquHjNXN8CCsEL3NPNrQHW6UWY78oginRPtcHZFcw"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x54157279932a37b055d247901f034848c1f0bffbf262028cf9c69eeedc9b7235","urls":["bzz-raw://ead77ae9ab020f705a998be6229e975b9352486deaa9aa800b6de10338190782","dweb:/ipfs/QmaLrytghaAH6ipaBr4XwsaBcCzeVa5gujHGRNxeztuo4X"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0x8b522a844626b33d69ae186dd26f2f7bfd921bf92ed7ed0cee2b8c349d9b64f9","urls":["bzz-raw://647f99949a4584cf4b528415ffea01ad243147548455fe5a8373b042b6af3087","dweb:/ipfs/QmYsgXQDTwrqg7YSJkKtiNZzf63f4jdA4xfni5gb9ap5K5"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0xc6caadf1800d688083c234a12cd151746f0271be03a50bb6a654634270ab0864","urls":["bzz-raw://084766afac89e6f74162f69534635f90ec56570019223e22d20342f7853fb4e0","dweb:/ipfs/QmbrQXrTewfgW2NydLgPCdt3Vton5V7nfE7HViXtyrMnoK"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xfb774a3d4388291fa5bae54bf1c592cc366a0585e6d24388dfeebaf3abd666b4","urls":["bzz-raw://0986371fcb9f53bac88f2c190faf0f5a77fac686eced664aed5f2f1eb6eaca64","dweb:/ipfs/QmWdgLEV31t27nNQC1KGEfaZHFcuBUayxHm2giZJpAG8hv"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0x6259111a19c9e329bd16a154bca9afa89339ce179d278647e34bcdff1868d0de","urls":["bzz-raw://c67088e2ecdb887174b16cdaf87299ad3b3871d7ce1f8c4c51e8def5e6cc8fb5","dweb:/ipfs/QmR2SXkYEkSqaacU6rWGsLdZiefy5kcsVqhvzg4Kob2fk1"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0x47c9a77c76fdc128d6ddae173d41eda8af2f954fa9f8b24fef14003dab6028a8","urls":["bzz-raw://8fb79ad2ddf872fab84a6ee1a16f38dccd0b6ef9f29d867f84ea6fb604e9a732","dweb:/ipfs/QmYzJwFgQtYkbbarVZLUsBAi6anfc421Jp5CoFUS79WSvz"],"license":"MIT"}},"version":1},"id":216}
\ No newline at end of file